-
-eq
равно
if [ "$a" -eq "$b" ]
-
-ne
не равно
if [ "$a" -ne "$b" ]
-
-gt
больше
if [ "$a" -gt "$b" ]
-
-ge
больше или равно
if [ "$a" -ge "$b" ]
-
-lt
меньше
if [ "$a" -lt "$b" ]
-
-le
меньше или равно
if [ "$a" -le "$b" ]
-
<
меньше (внутри двойных круглых скобок)
(("$a" < "$b"))
-
<=
меньше или равно (внутри двойных круглых скобок)
(("$a" <= "$b"))
-
>
больше (внутри двойных круглых скобок)
(("$a" > "$b"))
-
>=
больше или равно (внутри двойных круглых скобок)
(("$a" >= "$b"))
-
=
равно
if [ "$a" = "$b" ]
-
==
равно
if [ "$a" == "$b" ]
Синоним оператора=
[[ $a == z* ]] # истина, если $a начинается с символа "z" (сравнение по шаблону) [[ $a == "z*" ]] # истина, если $a равна z* [ $a == z* ] # имеют место подстановка имен файлов и разбиение на слова [ "$a" == "z*" ] # истина, если $a равна z*
-
!=
не равно
if [ "$a" != "$b" ]
Этот оператор используется при поиске по шаблону внутри [[ ... ]].
-
<
меньше, в смысле величины ASCII-кодов
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
Обратите внимание! Символ"<"необходимо экранировать внутри [ ].
-
>
больше, в смысле величины ASCII-кодов
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
Обратите внимание! Символ">"необходимо экранировать внутри [ ].
См. Пример 25-6 относительно применения этого оператора сравнения.
-
-z
строка "пустая", т.е. имеет нулевую длину
-
-n
строка не "пустая".
Оператор -n требует, чтобы строка была заключена в кавычки внутри квадратных скобок. Как правило, проверка строк, не заключенных в кавычки, оператором ! -z, или просто указание строки без кавычек внутри квадратных скобок (см. Пример 7-6), проходит нормально, однако это небезопасная, с точки зрения отказоустойчивости, практика. Всегда заключайте проверяемую строку в кавычки. [1] |