Условное выражение применяется в составной команде две квадратные скобки
([[) для проверки атрибутов файла и сравнения строк. В
словах, расположенных между начальной и конечной парами квадратных скобок
([[ и ]]), разбиение слов и подстановка имен файлов не
выполняются. Каждое выражение образуется из одного или нескольких
унарных или бинарных операторов следующего вида:
| -aФайл | Истинно, если указанный файл - это символьная ссылка на существующий файл. | 
| -bФайл | Истинно, если указанный файл существует и является блочным специальным файлом. | 
| -cФайл | Истинно, если указанный файл существует и является символьным специальным файлом. | 
| -dФайл | Истинно, если указанный файл существует и является каталогом. | 
| -eФайл | Истинно, если указанный файл существует. | 
| -fФайл | Истинно, если указанный файл существует и является обычным файлом. | 
| -gФайл | Истинно, если указанный файл существует и задан его бит setgid. | 
| -hФайл | Истинно, если указанный файл существует и является символьной ссылкой. | 
| -kФайл | Истинно, если указанный файл существует и задан его бит привязки. | 
| -nСтрока | Истинно, если длина указанной строки ненулевая. | 
| -oОпция | Истинно, если указанная опция включена. | 
| -pФайл | Истинно, если указанный файл существует и является специальным файлом FIFO или конвейером. | 
| -rФайл | Истинно, если указанный файл существует и может быть прочитан текущим процессом. | 
| -sФайл | Истинно, если указанный файл существует и не пуст. | 
| -tДескриптор_файла | Истинно, если файл с указанным дескриптором открыт и связан с терминалом. | 
| -uФайл | Истинно, если указанный файл существует и задан его бит setuid. | 
| -wФайл | Истинно, если указанный файл существует и его бит записи равен 1. Однако файл может быть недоступен для записи в файловой системе, в которой разрешено только чтение, даже если результатом проверки будет истина. | 
| -xФайл | Истинно, если указанный файл существует и установлен флаг execute . Если указанный файл существует и является каталогом, то текущему процессу будет разрешено выполнять в нем поиск. | 
| -zСтрока | Истинно, если длина указанной строки нулевая. | 
| -LФайл | Истинно, если указанный файл существует и является символьной ссылкой. | 
| -OФайл | Истинно, если указанный файл существует и принадлежит фактическому ИД пользователя этого процесса. | 
| -GФайл | Истинно, если указанный файл существует и его группа соответствует фактическому ИД пользователя этого процесса. | 
| -SФайл | Истинно, если указанный файл существует и является сокетом. | 
| Файл1-ntФайл2 | Истинно, если Файл1 существует и является более новым, чем Файл2. | 
| Файл1-otФайл2 | Истинно, если Файл1 существует и является более старым, чем Файл2. | 
| Файл1-efФайл2 | Истинно, если Файл1 и Файл2 существуют и ссылаются на один и тот же файл. | 
| Строка1=Строка2 | Истинно, если Строка1 и Строка2 совпадают. | 
| Строка1!=Строка2 | Истинно, если Строка1 и Строка2 не совпадают. | 
| Строка=Шаблон | Истинно, если указанная строка соответствует указанному шаблону. | 
| Строка!=Шаблон | Истинно, если указанная строка не соответствует указанному шаблону. | 
| Строка1< Строка2 | Истинно, если Строка1 предшествует Строке2, согласно ASCII-значениям символов. | 
| Строка1> Строка2 | Истинно, если Строка1 следует за Строкой2, согласно ASCII-значениям символов. | 
| Выражение1-eqВыражение2 | Истинно, если Выражение1 равно Выражению2. | 
| Выражение1-neВыражение2 | Истинно, если Выражение1 не равно Выражению2. | 
| Выражение1-ltВыражение2 | Истинно, если Выражение1 меньше Выражения2. | 
| Выражение1-gtВыражение2 | Истинно, если Выражение1 больше Выражения2. | 
| Выражение1-leВыражение2 | Истинно, если Выражение1 меньше или равно Выражению2. | 
| Выражение1-geВыражение2 | Истинно, если Выражение1 больше или равно Выражению2. | 
Примечание: В каждом из предыдущих выражений, если переменная Файл схожа с /dev/fd/n, где n - целое число, то проверка выполняется по отношению к файлу с дескриптором n.
Вы можете образовать составное выражение из этих базовых конструкций с
помощью любых выражений, перечисленных ниже в порядке убывания
приоритета:
| (Выражение) | Истинно, если указанное выражение истинно. Служит для объединения выражений в группы. | 
| ! Выражение | Истинно, если указанное выражение ложно. | 
| Выражение1 && Выражение2 | Истинно, если истинны и Выражение1, и Выражение2. | 
| Выражение1||Выражение2 | Истинно, если истинно Выражение1 или Выражение2. |