Linux для пользователя




Оператор test и условные выражения - часть 2


Верно, если файл file1 имеет более позднее время модификации, чем file2.

file1 –ot file2

Верно, если файл file1 старше, чем file2.

file1 –ef file2

Верно, если файлы file1 и file2 имеют одинаковые номера устройств и индексных дескрипторов (inode).

-o optname

Верно, если задействована опция оболочки optname. Пояснения см. на странице man bash.

-z string

Верно, если длина строки равна нулю.

-n string

Верно, если длина строки не равна нулю.

string1 == string2

Верно, если строки совпадают. Вместо == может использоваться =.

string1 !== string2

Верно, если строки не совпадают.

string1 < string2

Верно, если строка string1 лексикографически предшествует строке string2 (для текущей локали).

string1 > string2

Верно, если строка string1 лексикографически стоит после строки string2 (для текущей локали).

arg1 OP arg2

Здесь OP — это одна из операций арифметического сравнения: -eq (равно), -ne (не равно), -lt (меньше чем), -le (меньше или равно), -gt (больше), -ge (больше или равно). В качестве аргументов могут использоваться положительные или отрицательные целые.

Из этих элементарных условных выражений можно строить сколь угодно сложные с помощью обычных логических операций ОТРИЦАНИЯ, И и ИЛИ:

!(expression)

Булевский оператор отрицания.

expression1 -a expression2

Булевский оператор AND (И). Верен, если верны оба выражения.

expression1 -o expression2

Булевский оператор OR (ИЛИ). Верен, если верно любое из двух выражений.

Такие же условные выражения используются и в операторах while и until, которые мы рассмотрим чуть ниже.




Содержание  Назад  Вперед