- Test (UNIX)
-
test — файла и сравнения значений. Возвращает код возврата 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 Coreutils)
- – страница помощи man в
test(1)– страница помощи man вНекоторые командной строки • Все программы Файловые системы · · · · · grub · lilo · · mkreiserfs · · · · Файлы и каталоги cat · · · · · · · · · · · file · · ln · · · · · od · · · · · Процессы · crontab · · · · nice · · · · · · · time · · · Пользователи · · · · · passwd · · · · w · · who · · write Сеть ftp · · · · · · · · ssh · · Тексты · · · · ex · expand · unexpand · · head · · join · · · · pr · · · · · · · wc · Командная строка · · · bind · · · · · test · true · Поиск · · · whereis · Разное · · · date · help · lp · man · history · · · · yes
Wikimedia Foundation. 2010.