Введение в Unix

       

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


Синтаксис:

case <string> in string1) <если string = string1, то выполнить все следующие команды до ;;> ;; string2) <если string = string2, то выполнить все следующие команды до ;;> ;; string3) ... и т.д. ... esac

Пример:

Пусть процедура имеет опцию -t, которая может быть подана как первый параметр:

................. together = no case $1 in -t) together = yes shift ;; -?) echo "$0: no option $1" exit ;; esac if test $together = yes then sort ... fi

где ? - метасимвол (если -?, т.е. "другая" опция, отличная от -t, то ошибка). Можно употреблять все метасимволы языка Shell, включая ?, *, [-].

Легко добавить (в примере) другие опции, просто расширяя case.



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