Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"

We use cookies. Read the Privacy and Cookie Policy

Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"

#!/bin/bash

ARGS=1 # Ожидаемое число аргументов.

E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.

test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS

# Если проверка первого условия возвращает true (неверное число аргументов),

# то исполняется остальная часть строки, и сценарий завершается.

# Строка ниже выполняется только тогда, когда проверка выше не проходит.

# обратите внимание на условие "-ne" -- "не равно" (прим. перев.)

echo "Сценарию передано корректное число аргументов."

exit 0

# Проверьте код завершения сценария командой "echo $?".

Конечно же, с помощью И-списка можно присваивать переменным значения по-умолчанию.

arg1=$@ # В $arg1 записать аргументы командной строки.

[ -z "$arg1" ] && arg1=DEFAULT

# Записать DEFAULT, если аргументы командной строки отсутствуют.

ИЛИ-список

command-1 || command-2 || command-3 || ... command-n

Каждая последующая команда, в таком списке, выполняется только тогда, когда предыдущая команда вернула код завершения false (не ноль). Если какая-либо из команд возвращает true (ноль), то исполнение списка команд в этом месте завершается, т.е. следующие далее команды не выполняются. Очевидно, что "ИЛИ-списки" имеют смысл обратный, по отношению к "И-спискам"