<Попередній | зміст | Наступна>
Шаблони
Візерунки, які використовуються випадок такі ж, як і ті, які використовуються при розширенні імені шляху. Шаблони закінчуються символом «)». Ось кілька дійсних шаблонів:
Таблиця 31-1: Приклади зразків
Опис візерунка
Опис візерунка
a) Збігається, якщо слово дорівнює «а».
![]()
[[:альфа:]]) Збігається, якщо слово є одним символом алфавіту.
![]()
???) Збігається, якщо слово має рівно три символи.
![]()
*.txt) Збігається, якщо слово закінчується символами «.txt».
![]()
*) Відповідає будь-якому значенню слово. Рекомендується включити це як останній шаблон в a випадок команда, щоб уловити будь-які значення слово що не відповідало попередньому шаблону; тобто для перехоплення будь-яких можливих недійсних значень.
![]()
Ось приклад шаблонів на роботі:
#! / бін / баш
read -p "введіть слово > " регістр $REPLY
[[:alpha:]]) echo "є одним символом алфавіту". ;; [ABC][0-9]) echo "це A, B або C, за яким слідує цифра". ;;
???) echo "три символи". ;;
*.txt) echo "це слово, що закінчується на ".txt"" ;;
*) echo «це щось інше». ;; esac
#! / бін / баш
read -p "введіть слово > " регістр $REPLY
[[:alpha:]]) echo "є одним символом алфавіту". ;; [ABC][0-9]) echo "це A, B або C, за яким слідує цифра". ;;
???) echo "три символи". ;;
*.txt) echo "це слово, що закінчується на ".txt"" ;;
*) echo «це щось інше». ;; esac
Також можна комбінувати декілька візерунків, використовуючи символ вертикальної смуги як роздільник. Це створює умовний шаблон «або». Це корисно для таких речей, як обробка символів верхнього та малого регістру. Наприклад:
#! / бін / баш
# case-menu: очищення системної інформаційної програми на основі меню
луна"
Оберіть будь ласка:
A. Відображення системної інформації
B. Відображення дискового простору
C. Відображення використання домашнього простору
Q. кинь"
read -p «Введіть вибір [A, B, C або Q] > "
випадок $REPLY в
q|Q) echo «Програму припинено». вихід
;;
а|А) echo "Ім'я хосту: $HOSTNAME" час роботи
;;
b|B) дф-х
;;
c|C) якщо [[ $(id -u) -eq 0 ]]; тоді
echo "Використання домашнього простору (всі користувачі)" du -sh /home/*
ще
echo "Використання домашнього простору ($USER)" du -sh $HOME
fi
#! / бін / баш
# case-menu: очищення системної інформаційної програми на основі меню
луна"
Оберіть будь ласка:
A. Відображення системної інформації
B. Відображення дискового простору
C. Відображення використання домашнього простору
Q. кинь"
read -p «Введіть вибір [A, B, C або Q] > "
випадок $REPLY в
q|Q) echo «Програму припинено». вихід
;;
а|А) echo "Ім'я хосту: $HOSTNAME" час роботи
;;
b|B) дф-х
;;
c|C) якщо [[ $(id -u) -eq 0 ]]; тоді
echo "Використання домашнього простору (всі користувачі)" du -sh /home/*
ще
echo "Використання домашнього простору ($USER)" du -sh $HOME
fi
;;
*) echo "Недійсний вхід" >&2 вихід 1
;;
що С
;;
*) echo "Недійсний вхід" >&2 вихід 1
;;
що С
Тут ми модифікуємо кейс-меню програма для використання літер замість цифр для вибору меню. Зверніть увагу, як нові шаблони дозволяють вводити як великі, так і малі літери.
документація