Шаблоны
Шаблоны обрабатываются командой case точно так же, как пути механизмом подстановки. Шаблоны завершаются символом ). В табл. 31.1 перечислены некоторые допустимые шаблоны.
Таблица 31.1. Примеры шаблонов в команде case
Шаблон
Описание
a)
Соответствует, если слово содержит a
[[:alpha:]])
Соответствует, если слово содержит единственный алфавитный символ
???)
Соответствует, если слово содержит ровно три символа
*.txt)
Соответствует, если слово заканчивается символами .txt
*)
Соответствует любому значению слова. Считается хорошей практикой включать этот шаблон в команду case последним, чтобы перехватывать любые значения слова, не соответствующие ни одному из предыдущих шаблонов, то есть чтобы перехватывать любые недопустимые значения
Следующий пример демонстрирует работу шаблонов:
#!/bin/bash
read -p "enter word > "
case $REPLY in
[[:alpha:]]) echo "is a single alphabetic character." ;;
[ABC][0-9]) echo "is A, B, or C followed by a digit." ;;
???) echo "is three characters long." ;;
*.txt) echo "is a word ending in '.txt'" ;;
*) echo "is something else." ;;
esac