Интерпретатор командного языка shell

Команда test


Команда test применяется для проверки условия. Формат вызова:

test <выражение>

или

[ <выражение> ]

Команда test вычисляет <выражение> и, если его значение - истина, возвращает код завершения 0 (true); иначе - ненулевое значение (false). Ненулевой код завершения возвращается и если опущены аргументы. <Выражение> может состоять из следующих примитивов:

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

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

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

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

-d файл - истина, если файл существует и является директорией

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

-b файл - истина, если файл существует и является специальным блок-ориентированным файлом

-p файл - истина, если файл существует и является именованным каналом (pipe)

-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



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