Команды Linux

Команда регистра BASH

Команда регистра BASH

Команда Bash case используется для принятия правильных действий путем сравнения данных, таких как оператор if. Он работает как оператор switch-case других стандартных языков программирования. Эта команда начинается с оператора case и заканчивается оператором esac. В команде case не используется оператор break, и требуется двойная скобка (;;) для упоминания оператора (ов) для любого конкретного соответствия. Эта команда расширяет выражение и пытается соответствовать заданному шаблону, и код статуса выхода этой команды будет равен нулю, если совпадение не будет найдено. В этом руководстве показаны некоторые распространенные примеры операторов case.

Пример-1: простой оператор case

Одно условное выражение используется в команде bash case для генерации вывода на основе условия соответствия. Создайте файл bash с именем Дело 1.ш со следующим сценарием bash. Скрипт примет строковое значение и сопоставит значение с каждым выражением. Следующий скрипт сгенерирует сообщение «Запись не найдена», если подходящего выражения не существует,
Дело 1.ш

#!/ bin / bash
echo "Введите свое имя"
читать имя
case $ name в
Есмин)
echo "Ваш любимый цвет - синий" ;;
Фахмида)
echo "Ваш любимый напиток - Sprite" ;;
*)
echo «Запись не найдена» ;;
esac

Запускаем скрипт.

$ bash case1.ш

Выход:

Здесь файл выполняется с допустимым и недопустимым вводом для проверки вывода.

Пример-2: оператор множественного регистра с трубкой

В сценарии bash можно применять несколько case-выражений для выполнения различных типов операторов. Символ вертикальной черты (|) можно использовать для назначения нескольких выражений. Создайте файл bash с именем case2.ш со следующим сценарием. После запуска скрипта, если входное значение совпадает с каким-либо выражением, будет напечатано соответствующее текстовое значение.
case2.ш

#!/ bin / bash
echo "Введите свой идентификационный номер"
читать ID
case $ ID в
65341)
echo "Ваша позиция 1-я" ;;
97564 | 88453)
echo "Ваша позиция 2-я" ;;
45087)
echo "Ваша позиция 3-я" ;;
*)
echo "Неверный ID" ;;
esac

Запускаем скрипт .

$ bash case2.ш

Выход:

Этот скрипт также работает так же, как и в предыдущем примере. Единственное отличие состоит в том, что несколько значений выражения проверяются для одного вывода.

Пример-3: Как выйти из блока операторов case / esac

Когда команда bash case используется в бесконечном цикле, необходимо использовать команду выхода для завершения цикла. Этот пример показывает, как эти типы задач могут быть выполнены. Создайте текстовый файл с именем case3.ш со следующим сценарием. Этот скрипт будет принимать любое число от 1 до 3 в качестве входных данных. Если на входе 1, то будут добавлены два числа, если на входе 2, то будут вычтены два числа, а если введенное число равно 3, то два числа будут умножены. Результатом будет «Недопустимая запись», если введенное число больше 3, меньше 1 или пусто.
case3.ш

#!/ bin / bash
#!/ bin / bash
в то время как (правда)
делать
а = 8
б = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
echo "Тип 1 или 2 или 3"
читать ANS
case $ ans in
1) echo "Сумма $ a и $ b равна $ x & exit" ;;
2) echo "Вычитание $ a и $ b равно $ y & exit" ;;
3) echo "Умножение $ a и $ b равно $ z & exit" ;;
*) echo "Неверная запись"
esac
Выполнено

Запускаем скрипт.

$ bash case3.ш

Выход:

Скрипт будет продолжать выполняться до тех пор, пока не будет нажата ctrl + c.

Пример-4: Проверка пустого значения аргумента командной строки

Переменная аргумента командной строки может использоваться в операторе case bash. Создайте файл с именем case4.ш со следующим скриптом, который проверит значение второй переменной аргумента.

#!/ bin / bash
футляр "$ 2" в
"Ubuntu")
echo "Второй аргумент - $ 2."
;;
«CentOS»)
echo "Второй аргумент - $ 2."
;;
"")
echo "Второй аргумент пуст."
;;
esac

Запускаем скрипт.

$ bash case4.ш

Выход:

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

Пример 5: инструкция с несколькими регистрами на основе пользовательского ввода

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

case5.ш

#!/ bin / bash
echo "Введите название месяца"
читать месяц
случай $ месяц в
Январь | Янв *)
Message = "21 февраля - наш Международный день матери."
;;
Февраль | фев *)
Message = "21 февраля - наш Международный день матери."
;;
Март | март *)
Message = "9 марта - Всемирный день почек."
;;
Апрель | апр *)
Message = "Текущий месяц не февраль"
;;
Май | Май *)
Message = "Текущий месяц - февраль"
;;
Июнь | июн *)
Message = "Текущий месяц - февраль"
;;
*)
Message = "Соответствующая информация не найдена"
;;
esac
echo $ Сообщение

Запускаем скрипт.

$ bash case5.ш

Выход:

Следующие выходные данные будут отображаться для входного значения «Март» или «Март».

Пример-6: Проверить переменную в операторе case bash

Любое строковое значение можно напечатать, проверив значение переменной аргумента командной строки. Создайте текстовый файл с именем case6.ш со следующим сценарием. В этом примере проверяется значение переменной первого аргумента, и если значение пусто, будет напечатана строка «Мне нравится программирование на bash».

case6.ш

#!/ bin / bash
футляр $ 1 в
("") echo "Мне нравится программировать на bash";
esac

Запускаем скрипт.

$ bash case6.ш

Выход:

Этот скрипт выполняется с первыми аргументами и без них. Не будет вывода, если не будет передана переменная аргумента командной строки.

Заключение

В этой статье показаны различные варианты использования команды bash case. Если читатели будут правильно практиковать эти примеры, им будет легче решить многие проблемы программирования на bash.

Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...
Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...
Как увеличить FPS в Linux?
FPS означает Кадров в секунду. Задача FPS - измерить частоту кадров при воспроизведении видео или во время игры. Проще говоря, количество непрерывных ...