A list of the most frequently used in bash comparison operators.
Файлы (files):
-a file
истинно если файл существует.
-d file
истинно если файл существует и является директорией.
-f file
истинно если файл существует и является обычным файлом.
-r file
истинно если файл существует и доступен для чтения.
-s file
истинно если файл существует и его размер больше 0.
-w file
истинно если файл существует и доступен для записи.
-x file
истинно если файл существует и является исполняемым.
file1 -nt file2
истинно если файл file1 новее чем file2 или file1 (в соответствии со временем последнего изменения) существует, а file2 нет.
file1 -ot file2
истинно если файл file1 старше чем file2 или file2 существует, а file1 нет.
file1 -ef file2
истинно если оба файла ссылаются на одно и то же устройство или инод.
Строки (strings):
-z string
истинно если строка имеет нулевую длину.
-n string
истинно если длина строки не нулевая.
string1 = string2
истинно если строки равны.
string1 != string2
истинно если не равны.
string1 < string2
истинно если строка 1 стоит в алфавитном порядке перед строкой 2.
string1 > string2
истинно если строка 1 стоит в алфавитном порядке после строки 2.
Операторы && и ||
являются управляющими операторами. Если в командной строке стоит command1 && command2, то command2
выполняется в том, и только в том случае, если статус выхода из команды command1
равен нулю, что говорит об успешном ее завершении. Аналогично, если командная строка имеет вид command1 || command2
, то команда command2
выполняется тогда, и только тогда, когда статус выхода из команды command1
отличен от нуля.