Оператор выбора 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.