test
Матеріал з Вікіпедії — вільної енциклопедії.
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
Параметри запуску[ред.]
-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.
Посилання[ред.]
- test(1) — сторінка допомоги man в GNU (див. GNU Coreutils)
- test(1) — сторінка допомоги man в OpenBSD
- test(1) — сторінка допомоги man в Free BSD
|
||||||||||||||||||||||||||||||||
