test
test — UNIX-утилита для проверки типа файла и сравнения значений. Возвращает код возврата 0 (истина) или 1 (ложь) в зависимости вычисления выражения expr. Выражения могут быть как унарными, так и бинарными. Унарные выражения часто используются для проверки статуса файла. Также допустимо сравнение чисел и строк.
Использование
test [expr]test {--help,--version}
Обычно используется в несложных shell-скриптах для проверок разного рода. Следующий пример удалит обычный файл text.txt если он существует, либо выведет сообщение что данного файла нет.
#!/bin/sh if test -f test.txt then rm test.txt else echo 'файл test.txt не найден' fi
Для сокращения кода сценария используют парный оператор '[' как синоним test
#!/bin/sh if [ -f test.txt ] then rm test.txt else echo 'файл test.txt не найден' fi
Параметры запуска
-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.
Ссылки
- — страница справки man в GNU/Linux <span class="ref-info" title="{{{Expansion depth limit exceeded}}}" style="font-size:85%; cursor:help; margin-left:0.2em; color:#888;">({{{Expansion depth limit exceeded}}}) (см. GNU Coreutils)
- — страница справки man по пользовательским командам OpenBSD <span class="ref-info" title="{{{Expansion depth limit exceeded}}}" style="font-size:85%; cursor:help; margin-left:0.2em; color:#888;">({{{Expansion depth limit exceeded}}})
- — страница справки man по пользовательским командам FreeBSD <span class="ref-info" title="{{{Expansion depth limit exceeded}}}" style="font-size:85%; cursor:help; margin-left:0.2em; color:#888;">({{{Expansion depth limit exceeded}}})
en:Test (Unix)
fr:Test (Unix)
hu:Test (Unix)
pl:Test (Unix)
uk:Test.
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....