Интерпретатор командного языка shell



             

Оператор выбора


case $<переменная> in

<шаблон> | <шаблон>... ) <список> ;;

. . .

esac

Оператор выбора выполняет <список>, соответствующий первому <шаблону>, которому удовлетворяет <переменная>. Форма шаблона та же, что и используемая для генерации имен файлов. Часть | шаблон... может отсутствовать.

Пример. Определить флаги и откомпилировать все указанные файлы.

# инициализировать флаг

flag=

# повторять для каждого аргумента

for a

do

case $a in

# об(r)единить флаги, разделив их пробелами

-[ocSO]) flag=$flag' ' $a ;;

-*) echo 'unknown flag $a' ;;

# компилировать каждый исходный файл и сбросить флаги

*.c) cc $flag $a; flag= ;;

*.s) as $flag $a; flag= ;;

*.f) f77 $flag $a; flag= ;;

# неверный аргумент

*) echo 'unexpected argument $a' ;;

esac

done




Содержание  Назад  Вперед