CASE — Оператор Выбора в Bash [Пример]

В этой статье описывается базовый синтаксис и приводится пример BASH скрипта с использование оператора CASE.

Оператор выбора CASE — это простейшая форма оператора IF-THEN-ELSE в BASH.

Используйте CASE вместо оператора IF-THEN-ELSE с большим количеством ELIF элементов.

С помощью BASH оператора CASE, Вы один раз берете какую-либо переменную и множество раз проверяете ее.

Базовый Синтаксис Оператора Выбора CASE

case $variable in
     pattern-1)      
          commands
          ;;
     pattern-2)      
          commands
          ;;
     pattern-3|pattern-4|pattern-5)
          commands
          ;; 
     pattern-N)
          commands
          ;;
     *)
          commands
          ;;
esac

Пример BASH Скрипта с Оператором CASE

#!/bin/bash
printf 'Какой Linux дистрибутив Вы знаете? '
read DISTR

case $DISTR in
     ubuntu)
          echo "Я тоже знаю Ubuntu! Эта система основана на Debian."
          ;;
     centos|rhel)
          echo "Эй! Это мой любимый серверный дистрибутив!"
          ;;
     windows)
          echo "Очень смешно..."
          ;; 
     *)
          echo "Хмм, кажется я никогда не использовал этот дистрибутив."
          ;;
esac

Примеры работы скрипта:

$ ./testcase.sh
Какой Linux дистрибутив Вы знаете? centos
Эй! Это моя любимая серверная операционная система!
$ ./testcase.sh
Какой Linux дистрибутив Вы знаете? rhel
Эй! Это моя любимая серверная операционная система!
$ ./testcase.sh
Какой Linux дистрибутив Вы знаете? ubuntu
Я тоже знаю ubuntu! Это операционная система, основанная на Debian.
$ ./testcase.sh
Какой Linux дистрибутив Вы знаете? pfff
Хмм, кажется я никогда не использовал этот дистрибутив.