В этой статье мы объяснит, как использовать оператор case в Bash на примере в ОС Linux.
Синтаксис оператора case в bash
Вот синтаксис оператора case в bash:
Синтаксис:
шаблон-1)
;;
шаблон-2)
команды
;;
шаблон-3)
команды
;;
шаблон- N)
команды
;;
*)
команды
;;
esac
- Оператор case начинается с «case» и заканчивается «esac»
- «)» используется для завершения шаблона. Чтобы разделить несколько шаблонов, «|» используется, как показано ниже:
pattern-1 | шаблон-2)
команды
….
….
;;
шаблон-3 | шаблон-4)
команды
….
….
;;
- Шаблон с командами известен как предложение, и каждое предложение заканчивается на (;;).
- Символ звездочки * может использоваться для определения регистра по умолчанию.
- Оператор case в Bash сначала сопоставляет входную переменную $ с различными шаблонами. Если шаблон совпадает, то будет выполнен соответствующий набор команд до двойной точки с запятой (;;).
Пример 1:
Следующий пример касается кассового отчета bash, в котором пользователя просят ввести название месяца. Если этот ввод соответствует определенным шаблонам в сценарии, будет выполнена соответствующая команда echo. Команда echo отобразит информацию о международном событии в этом конкретном месяце.
Чтобы использовать этот сценарий, создайте простой текстовый файл; назовите его с расширением файла .sh. Добавьте в него следующий скрипт и сохраните его. Затем назначьте этот файл для выполнения разрешений, выполнив следующую команду в Терминале:
To выполните этот файл bash, просто запустите ./, за которым следует имя файла bash, как показано ниже:
Когда вы выполните сценарий, вам будет предложено ввести название месяца в качестве входных данных. Если название месяца совпадает, будет отображаться соответствующее событие в этом конкретном месяце, в противном случае будет отображаться сообщение «Соответствующая информация не найдена».
Обратите внимание, что для сопоставления используется «shopt -s nocasematch» шаблон независимо от его регистра.
echo «Введите название месяца»
месяц чтения
case $ month в
январе)
echo «24 января, международный день образования.. «
;;
февраль)
echo» 20 февраля, Всемирный день социальной справедливости. «
;;
март)
echo «Международный женский день 8 марта».
апрель)
эхо «7 апреля, Всемирный день здоровья»
;;
май)
эхо «Международный день семьи 15 мая»
;;
июнь)
эхо «Всемирный день беженцев 20 июня»
;;
июль)
echo «Всемирный день народонаселения 11 июля»
;;
*)
echo «Соответствующая информация не найдена»
;;
esac
Пример 2:
Следующий пример относится к оператору денежных средств bash, в котором пользователя просят ввести название страны. Если этот ввод соответствует определенным шаблонам в сценарии, будет выполнена соответствующая команда echo. Команда echo отобразит информацию о столице этой конкретной страны.
Чтобы использовать этот сценарий , следуйте тому же методу, который описан в приведенном выше примере. После этого выполните сценарий, и вам будет предложено ввести название страны в качестве входных данных. Если название страны совпадает с предопределенными названиями стран, оно будет отображать название столицы этой страны, в противном случае будет отображаться сообщение «Информация недоступна».
shopt -s nocasematch
echo -n «Введите название страны:»
прочитать страну
echo -n «Столица $ country:»
case $ country в
Пакистане)
echo -n «Исламабад»
;;
Фиджи )
echo -n «Сува»
;;
Великобритания | «Соединенное Королевство»)
echo -n «Лондон»
;;
Турция)
echo -n «Анкара»
;;
США)
echo -n «Вашингтон, округ Колумбия»
;;
*)
echo -n «Информация недоступна»
; ;
esac
echo «»
Операторы case в Bash упрощают чтение и понимание сценария bash. В этой статье мы рассмотрели, как писать и использовать операторы case в bash. Теперь вы можете легко и просто написать своего рода многоуровневый оператор if-else, используя операторы case.