Как использовать оператор case в Bash

Операторы case в Bash похожи на операторы if-else, но проще и проще. Это помогает сопоставить одну переменную с несколькими значениями. Он используется, когда вам требуются операторы IF-else с несколькими операторами Elif … Он очень похож на оператор switch в C, однако оператор case bash не продвигается вперед после сопоставления с шаблоном

В этой статье мы объяснит, как использовать оператор case в Bash на примере в ОС Linux.

Синтаксис оператора case в bash

Вот синтаксис оператора case в bash:

Синтаксис:

переменная case $ в командах
шаблон-1)

;;
шаблон-2)
команды
;;
шаблон-3)
команды
;;
шаблон- N)
команды
;;
*)
команды
;;
esac

  • Оператор case начинается с «case» и заканчивается «esac»
  • «)» используется для завершения шаблона. Чтобы разделить несколько шаблонов, «|» используется, как показано ниже:
переменная case $ в
pattern-1 | шаблон-2)
команды
….
….
;;
шаблон-3 | шаблон-4)
команды
….
….
;;
  • Шаблон с командами известен как предложение, и каждое предложение заканчивается на (;;).
  • Символ звездочки * может использоваться для определения регистра по умолчанию.
  • Оператор case в Bash сначала сопоставляет входную переменную $ с различными шаблонами. Если шаблон совпадает, то будет выполнен соответствующий набор команд до двойной точки с запятой (;;).

Пример 1:

Следующий пример касается кассового отчета bash, в котором пользователя просят ввести название месяца. Если этот ввод соответствует определенным шаблонам в сценарии, будет выполнена соответствующая команда echo. Команда echo отобразит информацию о международном событии в этом конкретном месяце.

Чтобы использовать этот сценарий, создайте простой текстовый файл; назовите его с расширением файла .sh. Добавьте в него следующий скрипт и сохраните его. Затем назначьте этот файл для выполнения разрешений, выполнив следующую команду в Терминале:

$ sudo chmod 777 filename.sh

To выполните этот файл bash, просто запустите ./, за которым следует имя файла bash, как показано ниже:

$ ./filename.sh

Когда вы выполните сценарий, вам будет предложено ввести название месяца в качестве входных данных. Если название месяца совпадает, будет отображаться соответствующее событие в этом конкретном месяце, в противном случае будет отображаться сообщение «Соответствующая информация не найдена».

Обратите внимание, что для сопоставления используется «shopt -s nocasematch» шаблон независимо от его регистра.

shopt -s nocasematch

echo «Введите название месяца»
месяц чтения
case $ month в
январе)
echo «24 января, международный день образования.. «
;;
февраль)
echo» 20 февраля, Всемирный день социальной справедливости. «
;;
март)
echo «Международный женский день 8 марта».
апрель)
эхо «7 апреля, Всемирный день здоровья»
;;
май)
эхо «Международный день семьи 15 мая»
;;
июнь)
эхо «Всемирный день беженцев 20 июня»
;;
июль)
echo «Всемирный день народонаселения 11 июля»
;;
*)
echo «Соответствующая информация не найдена»
;;
esac

Пример 2:

Следующий пример относится к оператору денежных средств bash, в котором пользователя просят ввести название страны. Если этот ввод соответствует определенным шаблонам в сценарии, будет выполнена соответствующая команда echo. Команда echo отобразит информацию о столице этой конкретной страны.

Чтобы использовать этот сценарий , следуйте тому же методу, который описан в приведенном выше примере. После этого выполните сценарий, и вам будет предложено ввести название страны в качестве входных данных. Если название страны совпадает с предопределенными названиями стран, оно будет отображать название столицы этой страны, в противном случае будет отображаться сообщение «Информация недоступна».

#!/bin/bash
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.

Оцените статью
nanomode.ru
Добавить комментарий