Верно, если файл file1 имеет более позднее время модификации, чем file2.
Верно, если файл file1 старше, чем file2.
Верно, если файлы file1 и file2 имеют одинаковые номера устройств и индексных дескрипторов (inode).
Верно, если задействована опция оболочки optname. Пояснения см. на странице man bash.
Верно, если длина строки равна нулю.
Верно, если длина строки не равна нулю.
Верно, если строки совпадают. Вместо == может использоваться =.
Верно, если строки не совпадают.
Верно, если строка string1 лексикографически предшествует строке string2 (для текущей локали).
Верно, если строка string1 лексикографически стоит после строки string2 (для текущей локали).
Здесь OP - это одна из операций арифметического сравнения: -eq (равно), -ne (не равно), -lt (меньше чем), -le (меньше или равно), -gt (больше), -ge (больше или равно). В качестве аргументов могут использоваться положительные или отрицательные целые.
Из этих элементарных условных выражений можно строить сколь угодно сложные с помощью обычных логических операций ОТРИЦАНИЯ, И и ИЛИ:
Булевский оператор отрицания.
Булевский оператор AND (И). Верен, если верны оба выражения.
Булевский оператор OR (ИЛИ). Верен, если верно любое из двух выражений.
Такие же условные выражения используются и в операторах while и until, которые мы рассмотрим чуть ниже.