Bash - командный интерпретатор GNU Bourne


УСЛОВНЫЕ ВЫРАЖЕНИЯ


Условные выражения используются составной командой [[ и встроенными командами и [ для проверки атрибутов файла и выполнения строковых и арифметических сравнений. Выражения формируются из следующих унарных и бинарных элементарных условий. Если любой из аргументов файл в одном из условий имеет вид /dev/fd/n, проверяется файл с дескриптором n.

-a файл

Истинно, если файл существует.

-b файл

Истинно, если файл существует и являтся специальным блочным устройством.

-c файл

Истинно, если файл существует и является специальным символьным устройством.

-d файл

Истинно, если файл существует и является каталогом.

-e файл

Истинно, если файл существует

-f файл

Истинно, если файл существует и является обычным файлом.

-g файл



Истинно, если файл существует и имеет установленный бит SGID.

-h файл

Истинно, если файл существует и является символической связью.

-k файл

Истинно, если файл существует и имеет установленный "клейкий" бит.

-p файл

Истинно, если файл существует и является именованным каналом (FIFO).

-r файл

Истинно, если файл существует и доступен для чтения.

-s файл

Истинно, если файл существует и имеет ненулевой размер.

-t fd

Истинно, если дескриптор файла fd открыт и связан с терминалом.

-u файл

Истинно, если файл существует и имеет установленный бит SUID.

-w файл

Истинно, если файл существует и доступен для записи.

-x файл

Истинно, если файл существует и является выполняемым.

-O файл

Истинно, если файл существует и принадлежит пользователю, задаваемому текущим эффективным идентификатором пользователя.

-G файл

Истинно, если файл существует и принадлежит группе, задаваемой текущим эффективным идентификатором группы.

-L файл

Истинно, если файл существует и является символической связью.

-S файл

Истинно, если файл существует и является сокетом.

-N файл

Истинно, если файл существует и был изменен с момента последнего чтения.

файл1 -nt файл2

Истинно, если файл1 новее (в соответствии с датой изменения), чем файл2.

файл1 -ot файл2


Истинно, если файл1 старее, чем файл2.

файл1 -ef файл2

Истинно, если файл1 и файл2 находятся на одном устройстве и имеют одинаковые номера индексных дескрипторов.

-o опция

Истинно, если установлена указанная опция командного интерпретатора. Список опций см. далее в описании опции встроенной команды .

-z строка

Истинно, если длина строки - ноль (т.е. строка - пустая).

-n строка

строка


Истинно, если длина строки - не ноль.

строка1 == строка2

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

строка1 != строка2

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

строка1 < строка2

Истинно, если строка1 в текущей локали при лексикографическом упорядочении предшествует строке2.

строка1 > строка2

Истинно, если строка1 в текущей локали при лексикографическом упорядочении идет после строки2.

arg1 OP arg2

Оператор OP - один из следующих: -eq, -ne, -lt, -le, -gt или -ge. Эти бинарные арифметические операторы возвращают истину, если arg1 равен, не равен, меньше, меньше или равен,больше, больше или равен arg2, соответственно. Аргументы arg1 и arg2 могут быть любыми целыми числами.


Содержание раздела