- test
-
test — UNIX-утилита для проверки типа файла и сравнения значений. Возвращает код возврата 0 (истина) или 1 (ложь) в зависимости вычисления выражения
expr
. Выражения могут быть как унарными, так и бинарными. Унарные выражения часто используются для проверки статуса файла. Также допустимо сравнение чисел и строк.Использование
test [expr]
test {--help,--version}
Обычно используется в несложных shell-скриптах для проверок разного рода. Следующий пример удалит обычный файл test.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 %оператор% arg2 -eq, -ne, -lt, -le, -gt, или -ge
— эти арифметические бинарные операции возвращают истину, если arg1 равно, не равно, меньше чем, меньше чем или равно, больше чем, или больше или равно чем arg2, соответственно. arg1 и arg2 могут быть положительными целыми, отрицательными целыми, или специальными выражениями -l string, которые вычисляют длину string.
Ссылки
test(1)
— страница справки man по пользовательским командам GNU/Linux (англ.) (см. GNU Coreutils)test(1)
— страница справки man по пользовательским командам OpenBSD (англ.)test(1)
— страница справки man по пользовательским командам FreeBSD (англ.)
Команды Unix POSIX.1-2008 Утилиты POSIX.1-2008 admin • alias • ar • asa • at • awk • basename • batch • bc • bg • c99 • cal • cat • cd • cflow • chgrp • chmod • chown • cksum • cmp • comm • command • compress • cp • crontab • csplit • ctags • cut • cxref • date • dd • delta • df • diff • dirname • du • echo • ed • env • ex • expand • expr • false • fc • fg • file • find • fold • fort77 • fuser • gencat • get • getconf • getopts • grep • hash • head • iconv • id • ipcrm • ipcs • jobs • join • kill • lex • link • ln • locale • localedef • logger • logname • lp • ls • m4 • mailx • make • man • mesg • mkdir • mkfifo • more • mv • newgrp • nice • nl • nm • nohup • od • paste • patch • pathchk • pax • pr • printf • prs • ps • pwd • qalter • qdel • qhold • qmove • qmsg • qrerun • qrls • qselect • qsig • qstat • qsub • read • renice • rm • rmdel • rmdir • sact • sccs • sed • sh • sleep • sort • split • strings • strip • stty • tabs • tail • talk • tee • test • time • touch • tput • tr • true • tsort • tty • type • ulimit • umask • unalias • uname • uncompress • unexpand • unget • uniq • unlink • uucp • uudecode • uuencode • uustat • uux • val • vi • wait • wc • what • who • write • xargs • yacc • zcat GNU Coreutils Файловые утилиты chgrp • chown • chmod • cp • dd • df • dir • dircolors • install • ln • ls • mkdir • mkfifo • mknod • mv • rm • rmdir • shred • sync • touch • vdir Текстовые утилиты cat • cksum • comm • csplit • cut • expand • fmt • fold • head • join • md5sum • nl • od • paste • ptx • pr • sha1sum • sort • split • sum • tac • tail • tr • tsort • unexpand • uniq • wc Shell-утилиты basename • chroot • date • dirname • du • echo • env • expr • factor • false • groups • hostid • id • link • logname • nice • nohup • pathchk • pinky • printenv • printf • pwd • readlink • seq • sleep • stat • stty • tee • test • true • tty • uname • unlink • users • who • whoami • yes Категория:- Утилиты UNIX
Wikimedia Foundation. 2010.