Введение в Unix

Условный оператор if


Используем имена переменных, представляющие значения параметров процедуры:

sort +1 -2 $1 | tr ... | lpr

Пример неверного вызова:

makelist (без параметров) , где $1 неопределен.

Исправить ошибку можно, проверяя количество аргументов - значение переменной $# посредством if - оператора.

Пример: (измененной процедуры makelist):

if test $# -eq 0 then echo "You must give a filename" exit 1 else sort +1 -2 $1 | tr ... | lpr fi

Здесь test и exit - команды проверки (см. раздел 7.11) и выхода.

Таким образом, синтаксис оператора if:

if <если эта команда выполняется успешно, то>; then <выполнить все следующие команды до else или, если его нет, до fi>; [else <иначе выполнить следующие команды до fi>]

Ключевые слова if, then, else и fi пишутся с начала строки. Успешное выполнение процедуры означает, что она возвращает значение true = 0 (zero) (неуспех - возвращаемое значение не равно 0).

Оператор exit 1 задает возвращаемое значение 1 для неудачного выполнения makelist и завершает процедуру.

Возможны вложенные if. Для else if есть сокращение elif, которое одновременно сокращает fi.



Содержание раздела