Условные выражения

Ветвление вычислительного процесса осуществляется с помощью оператора if:

if список_команд1; then

список_команд2

[ else

список_команд3]

fi

(В квадратных скобках указывается необязательная часть команды.)

Список_команд — это одна или несколько команд (для задания пустого списка используется: (двоеточие). Список_команд1передает оператору if код возврата последней команды из списка. Если код равен 0, то выполняются команды из списка_команд2, таким образом нулевой код возврата эквивалентен значению «истина». В противном случае выполняются команды из списка_команд3, если он указан.

Проверка условия может осуществляется с помощью команды test. Аргументами этой команды могут быть имена файлов, числовые и нечисловые строки. Она используется в следующих режимах:

● Проверка файлов: test -ключ имя_файла

Ключи: -r файл существует и доступен для чтения;

-w файл существует и доступен для записи;

-x файл существует и доступен для исполнения;

-f файл существует и является обычным файлом (т. е. не каталогом, не файлом устройства и т.п.);

-s файл существует, является обычным файлом и не пуст, т. е. его размер больше 0 байт;

-d файл существует и является каталогом.

Сравнение чисел: test число1 -ключ число2

Ключи: -eq равно;

-ne не равно;

-lt меньше;

-le меньше или равно;

-gt больше

-ge больше или равно.

● Сравнение строк: test [строка1] выражение строка2

[-n] строкастрока не пуста;

-z строкастрока пуста;

строка1 = строка2строки равны;

строка1!= строка2строки не равны.

В качестве альтернативой записи test можно использовать команду [ (открывающая квадратная скобка), при этом, например, для проверки существования файла вместо

$ if test -f /bin/bash; then echo 'bash найден!'; fi

bash найден!

можно использовать более аккуратно выглядящую конструкцию

$ if [ -f /bin/bash ]; then echo 'bash найден!'; fi

bash найден!


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: