Работа с оператором case в bash
Команда "case" в языке программирования Bash
Команда "case" в языке программирования Bash представляет собой конструкцию для условного выполнения кода в зависимости от значений различных переменных. Она является альтернативой команде "if-else" в Bash и предоставляет более компактный и удобный способ проверки множества условий.
Синтаксис команды "case" выглядит следующим образом:
case переменная in
значение1)
# код, выполняемый, если переменная равна значению1
;;
значение2)
# код, выполняемый, если переменная равна значению2
;;
значение3)
# код, выполняемый, если переменная равна значению3
;;
*)
# код, выполняемый, если переменная не равна ни одному из указанных значений
;;
esac
Давайте рассмотрим примеры кода, чтобы лучше понять, как использовать команду "case" в Bash.
Пример 1: Проверка дня недели
read -p "Введите день недели: " day
case $day in
понедельник|вторник|среда|четверг|пятница)
echo "Это рабочий день."
;;
суббота|воскресенье)
echo "Это выходной день."
;;
*)
echo "Вы ввели некорректное значение для дня недели."
;;
esac
В этом примере мы читаем значение переменной "day" с помощью команды "read". Затем, мы используем команду "case" для проверки значения переменной "day". Если значение равно "понедельник", "вторник", "среда", "четверг" или "пятница", выводится сообщение "Это рабочий день.". Если значение равно "суббота" или "воскресенье", выводится сообщение "Это выходной день.". Если значение не равно ни одному из указанных значений, выводится сообщение "Вы ввели некорректное значение для дня недели."
Пример 2: Проверка типа операционной системы
operating_system=$(uname)
case $operating_system in
Linux)
echo "Вы используете операционную систему Linux."
;;
BSD)
echo "Вы используете одну из систем на базе BSD."
;;
Darwin)
echo "Вы используете операционную систему macOS."
;;
*)
echo "Вы используете другую операционную систему."
;;
esac
В этом примере мы используем команду "uname" для получения значения переменной "operating_system", которое определяет тип операционной системы. Затем, мы используем команду "case" для проверки значения переменной "operating_system". Если значение равно "Linux", выводится сообщение "Вы используете операционную систему Linux.". Если значение равно "BSD", выводится сообщение "Вы используете одну из систем на базе BSD.". Если значение равно "Darwin", выводится сообщение "Вы используете операционную систему macOS.". Если значение не равно ни одному из указанных значений, выводится сообщение "Вы используете другую операционную систему."
Конструкция "*)", которую мы использовали в каждом примере, является блоком "по умолчанию". Если значение переменной не соответствует ни одному из указанных значений, выполняется код, расположенный в этом блоке.
Заметьте, что конструкция "case" в языке программирования Bash поддерживает использование групп значений, регулярных выражений и других расширений синтаксиса, которые выходят за рамки данного ответа. Однако, приведенные выше примеры дают общее представление о том, как использовать команду "case" в Bash для условного выполнения кода в зависимости от значений переменных.