Операторы в языке Bash.
Операторы сравнения
Арифметические операторы состоят из двух символов перед которыми стоит дефис. Ниже представлены арифметические операторы и в скобках их аналогия из языка С.
-lt - less then - меньше (<)
-gt - greater then - больше (>)
-le - less or equal - меньше или равно (<=)
-ge - greater or equal - больше или равно (>=)
-eq - equal - равно (==)
-ne - not equal - не равно (!=)
Если знакомы с английским языком, то запомнить будет несложно.
Операторы сравнения строк запомнить легче.
STR1 = STR2 - равно
STR1 != STR2 - не равно
STR1 < STR2 - меньше
STR1 > STR2 - больше
Оператор if
Для проверки условий в скрипте предназначена конструкция if. Общий синтаксис конструкции if в упрощенном виде, следующий:
if [ условие ]; then
блок команд
else
блок команд
fi
Оператор for
Оператор цикла for применяется для перебора последовательности значений.
Данный код выведет по порядку символы 1, 2, 3, a, b, c
#!/bin/bash
for i in 1 2 3 a b c
do
echo i=$i
done
Данный код выведет по порядку 1, 2, 3, 4, 5
for ((i=1;i<6;i++))
do
echo i=$i
done
Оператор wile
Еще один оператор цикла, будет выполняться пока выражение не приймет заданное значение.
Код будет выводить значения i пока i<7
i=1
while [ $i -lt 7 ]
do
echo $i
let i=i+1
done
Оператор case
Оператор сравнения, который сравнивает значение переменной с задпнным шаблонами, и в зависимости от совпадения запускает различный код.
case $1 in
[a,b,c,d]) #значения заданные в шаблоне явно
echo "a b c d"
;;
[0-9]) #последовательность числовых значений
echo "Это цифра $1"
;;
[a-z]) #последовательность
echo "Это буква $1"
;;
??)
echo "Это два любых символа"
;;
stop|restart|start)
echo "Это слово stop или restart или start"
;;
*)
echo "Другое значение"
;;
esac
Оператор read
Этот оператор служит для приема данных от пользователя.
echo Введите, пожалуйста, Ваше имя
read NAME
echo "Привет, $NAME!"