test — UNIX-утиліта для перевірки типу файлу і порівняння значень. Повертає код повернення 0 (істина) або 1 (неправда) в залежності обчислення виразу-параметра. Вирази можуть бути як унарними, так і бінарними. Унарні вирази часто використовуються для перевірки статусу файлу. Також допустиме порівняння чисел і рядків.
Використання
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
Remove ads
Параметри запуску
Узагальнити
Перспектива
-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.
Remove ads
Посилання
- test(1) [Архівовано 25 лютого 2008 у Wayback Machine.] — сторінка допомоги man в GNU (див. GNU Coreutils)
 - test(1)[недоступне посилання з листопадаа 2019] — сторінка допомоги man в OpenBSD
 - test(1) [Архівовано 13 грудня 2013 у Wayback Machine.] — сторінка допомоги man в Free BSD
 
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads