Код: Bash
Равно:
-eq
Конструкция ниже сравнивает две переменные между собой:
if [ "$a" -eq "$b" ]
Не равно:
-ne
Пример условия, при котором "а" не равно "b":
if [ "$a" -ne "$b" ]
Больше:
-gt
Если переменная "а" больше чем переменная "b":
if [ "$a" -gt "$b" ]
Больше или равно (greater or equal):
-ge
Условие при котором "а" больше или равно "b":
if [ "$a" -ge "$b" ]
Меньше, чем (less than):
-lt
Условие, которое выполнится при условии, если переменная "а" больше чем переменная "b":
if [ "$a" -lt "$b" ]
Меньше или равно:
-le
Условие выполнится, если переменная "в" меньше или равно переменной "b":
if [ "$a" -le "$b" ]
Буквы закончились, пошли символы :) Условие "меньше":
<
Конструкция записывается внутри двойных скобок. Условие ниже выполнится, если переменная "а" меньше переменной "b":
(("$a" < "$b"))
Конструкция "вам налево" (шутка). Условие "меньше или равно":
<=
Такое условие оформляется внутри двойных круглых скобок, аналогично предыдущему примеру. Условие выполнится, если "а" меньше или равно "b":
(("$a" <= "$b"))
Условие "больше", тоже внутри двойных круглых скобок. Что сравнивается с чем интуитивно понятно (если "а" больше "бэ"):
>
Вот как это должно выглядеть в bash:
(("$a" > "$b"))
Больше или равно (внутри двойных круглых скобок)
>=
Пример:
(("$a" >= "$b"))
Cравнение строк (знак "равно"):
if [ "$a" = "$b" ]
Либо оператор "==", это синоним "=":
if [ "$a" == "$b" ]
Парочка примеров для закрепления прочитанного:
[[ $a == z* ]] # истина, если $a начинается с символа "z" (сравнение по шаблону)
[[ $a == "z*" ]] # истина, если $a равна z*
[ $a == z* ] # имеют место подстановка имен файлов и разбиение на слова
[ "$a" == "z*" ] # истина, если $a равна z*
Оператор "не равно":
!=
Пример:
if [ "$a" != "$b" ]
Меньше и больше близнецы-братья, примеры ниже:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
Обратите внимание! Символ "<" необходимо экранировать внутри [ ].
Условие "больше":
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
Аналогично "меньше", символ ">" необходимо экранировать внутри [ ].
Проверка на пустую строку.
-z
Проверка на нулевую длину
-n
Условие того, что строка не "пустая":
-o or ||
Оператор "и". Т.е. условие выполнится, если предыдущее условие (или команда) завершились успешно:
-a and &&
Оператор -n требует, чтобы строка была заключена в кавычки внутри квадратных скобок. Как правило, проверка строк, не заключенных в кавычки, оператором ! -z, или просто указание строки без кавычек внутри квадратных скобок, проходит нормально, однако это не совсем безопасная практика, если на это смотреть с точки зрения отказоустойчивости. Обратите внимание на то, что нужно всегда заключать проверяемую строку в кавычки. Я думаю, что если у вас есть хоть минимальные знания, то вы разберётесь.