test

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

test — UNIX-утилита для проверки типа файла и сравнения значений. Возвращает код возврата 0 (истина) или 1 (ложь) в зависимости вычисления выражения expr. Выражения могут быть как унарными, так и бинарными. Унарные выражения часто используются для проверки статуса файла. Также допустимо сравнение чисел и строк.

Использование[править | править код]

  • test [expr]
  • test {--help,--version}

Параметры запуска[править | править код]

  • -b file — истина, если file существует и является специальным блочным устройством.
  • -c file — истина, если file существует и символьное устройство.
  • -d file — истина, если file существует и каталог.
  • -e file — истина, если file существует.
  • -f file — истина, если file существует и обычный файл.
  • -g file — истина, если file существует и имеет установленным групповой идентификатор (set-group-id).
  • -k file — истина, если file имеет установленным «sticky» бит.
  • -L file — истина, если file существует и символьная ссылка.
  • -p file — истина, если file существует и является именнованым каналом (pipe).
  • -r file — истина, если file существует и читаем.
  • -s file — истина, если file существует и имеет размер больше чем ноль.
  • -S file — истина, если file существует и сокет.
  • -t [fd] — истина, если fd открыт на терминале. Если fd пропущен, по умолчанию 1 (стандартное устройство вывода).
  • -u file — истина, если file существует и имеет установленным бит пользователя (set-user-id).
  • -w file — истина, если file существует и записываем.
  • -x file — истина, если file существует и исполняем.
  • -O file — истина, если file существует и его владелец имеет эффективный идентификатор пользователя.
  • -G file — истина, если file существует и его владелец имеет эффективный идентификатор группы.
  • file1 -nt file2 — истина, если file1 новее (дата модификации) чем file2.
  • file1 -ot file2 — истина, если file1 старее чем file2.
  • file1 -ef file2 — истина, если file1 и file2 имеют то же устройство и номер inode .
  • -z string — истина, если длина string равна нулю.
  • -n string string — истина, если длина string не ноль.
  • string1 = string2 — истина, если, если строки равны.
  • string1 != string2 — истина, если строки не равны.
  • ! expr — истина, если выражение expr ложь.
  • expr1 -a expr2 — истина, если оба выражения expr1 и expr2 истина.
  • expr1 -o expr2 — истина, если или expr1 или expr2 истина.
  • arg1 OP arg2 -eq, -ne, -lt, -le, -gt, или -ge — эти арифметические бинарные операции возвращают истину, если arg1 равно, не равно, меньше чем, меньше чем или равно, больше чем, или больше или равно чем arg2, соответственно. arg1 и arg2 могут быть положительными целыми, отрицательными целыми, или специальными выражениями -l string, которые вычисляют длину string.

Ссылки[править | править код]