НАЗВАНИЕ
test - проверка условия
СИНТАКСИС
test выражение [ выражение ]
ОПИСАНИЕ
Команда test применяется для проверки условия. Она вычисляет выражение и, если его значение - истина, возвращает код завершения 0; иначе - ненулевое значение. Ненулевой код возвращается и в случае, когда выражение отсутствует. При проверке прав доступа используется действующий идентификатор пользователя.
Знаки операций, флаги и скобки (см. выше второй способ записи команды test) должны быть отдельными аргументами в командной строке; обычно их разделяют пробелами.
Выражение может состоять из следующих примитивов:
Истина, если файл существует и доступен для чтения. -w файл
Истина, если файл существует и доступен для записи. -x файл
Истина, если файл существует и является выполняемым. -f файл
Истина, если файл существует и является обычным файлом. -d файл
Истина, если файл существует и является каталогом. -c файл
Истина, если файл существует и является специальным символьным файлом. -b файл
Истина, если файл существует и является специальным блочным файлом. -p файл
Истина, если файл существует и является именованным каналом. -u файл
Истина, если файл существует и его режим содержит бит переустановки идентификатора пользователя. -g файл
Истина, если файл существует и его режим содержит бит переустановки идентификатора группы. -k файл
Истина, если файл существует и его режим содержит бит навязчивости. -s файл Истина, если файл существует и имеет ненулевой размер. -t [дескриптор_файла]
Истина, если открытый файл с указанным дескриптором (по умолчанию 1) существует и ассоциирован с терминалом. -z s1 Истина, если длина цепочки s1 нулевая. -n s1 Истина, если длина цепочки s1 ненулевая. s1 = s2
Истина, если цепочки s1 и s2 равны. s1 != s2
Истина, если цепочки s1 и s2 не равны. s1 Истина, если s1 - непустая цепочка. n1 -eq n2
Истина, если целые числа n1 и n2 алгебраически равны. На месте -eq могут быть также операции сравнения -ne (не равно), -gt (больше), -ge (больше или равно), -lt (меньше), -le (меньше или равно). ( выражение )
Истина, если истинно заключенное в скобки выражение (скобки должны быть экранированы от интерпретации shell'ом). <