test

Поделись знанием:
Перейти к: навигация, поиск

test — UNIX-утилита для проверки типа файла и сравнения значений. Возвращает код возврата 1 (истина) или 0 (ложь) в зависимости вычисления выражения 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» бит.
  • -n string — истина, если длина string не равна нулю
  • -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"

Ссылки

  • [linux.die.net/man/1/test test(1)] — страница справки man по пользовательским командам GNU/Linux  (англ.) (см. GNU Coreutils)
  • [www.openbsd.org/cgi-bin/man.cgi?query=test&sektion=1 test(1)] — страница справки man по пользовательским командам OpenBSD  (англ.)
  • [www.freebsd.org/cgi/man.cgi?query=test&sektion=1 test(1)] — страница справки man по пользовательским командам FreeBSD  (англ.)

Отрывок, характеризующий Test

– Mon cher, voue m'avez promis, [Мой друг, ты мне обещал,] – обратилась она опять к Сыну, прикосновением руки возбуждая его.
Сын, опустив глаза, спокойно шел за нею.
Они вошли в залу, из которой одна дверь вела в покои, отведенные князю Василью.
В то время как мать с сыном, выйдя на середину комнаты, намеревались спросить дорогу у вскочившего при их входе старого официанта, у одной из дверей повернулась бронзовая ручка и князь Василий в бархатной шубке, с одною звездой, по домашнему, вышел, провожая красивого черноволосого мужчину. Мужчина этот был знаменитый петербургский доктор Lorrain.
– C'est donc positif? [Итак, это верно?] – говорил князь.
– Mon prince, «errare humanum est», mais… [Князь, человеку ошибаться свойственно.] – отвечал доктор, грассируя и произнося латинские слова французским выговором.
– C'est bien, c'est bien… [Хорошо, хорошо…]
Заметив Анну Михайловну с сыном, князь Василий поклоном отпустил доктора и молча, но с вопросительным видом, подошел к ним. Сын заметил, как вдруг глубокая горесть выразилась в глазах его матери, и слегка улыбнулся.
– Да, в каких грустных обстоятельствах пришлось нам видеться, князь… Ну, что наш дорогой больной? – сказала она, как будто не замечая холодного, оскорбительного, устремленного на нее взгляда.
Князь Василий вопросительно, до недоумения, посмотрел на нее, потом на Бориса. Борис учтиво поклонился. Князь Василий, не отвечая на поклон, отвернулся к Анне Михайловне и на ее вопрос отвечал движением головы и губ, которое означало самую плохую надежду для больного.
– Неужели? – воскликнула Анна Михайловна. – Ах, это ужасно! Страшно подумать… Это мой сын, – прибавила она, указывая на Бориса. – Он сам хотел благодарить вас.
Борис еще раз учтиво поклонился.
– Верьте, князь, что сердце матери никогда не забудет того, что вы сделали для нас.
– Я рад, что мог сделать вам приятное, любезная моя Анна Михайловна, – сказал князь Василий, оправляя жабо и в жесте и голосе проявляя здесь, в Москве, перед покровительствуемою Анною Михайловной еще гораздо большую важность, чем в Петербурге, на вечере у Annette Шерер.
– Старайтесь служить хорошо и быть достойным, – прибавил он, строго обращаясь к Борису. – Я рад… Вы здесь в отпуску? – продиктовал он своим бесстрастным тоном.
– Жду приказа, ваше сиятельство, чтоб отправиться по новому назначению, – отвечал Борис, не выказывая ни досады за резкий тон князя, ни желания вступить в разговор, но так спокойно и почтительно, что князь пристально поглядел на него.
– Вы живете с матушкой?
– Я живу у графини Ростовой, – сказал Борис, опять прибавив: – ваше сиятельство.
– Это тот Илья Ростов, который женился на Nathalie Шиншиной, – сказала Анна Михайловна.
– Знаю, знаю, – сказал князь Василий своим монотонным голосом. – Je n'ai jamais pu concevoir, comment Nathalieie s'est decidee a epouser cet ours mal – leche l Un personnage completement stupide et ridicule.Et joueur a ce qu'on dit. [Я никогда не мог понять, как Натали решилась выйти замуж за этого грязного медведя. Совершенно глупая и смешная особа. К тому же игрок, говорят.]