logo

Bash Case

У цій темі ми обговоримо основи операторів case і як їх використовувати в сценаріях Bash.

Інструкція Bash case є найпростішою формою IF-THEN-ELSE з багатьма елементами ELIF. Використання оператора case робить наш сценарій bash більш читабельним і простим у обслуговуванні. Зазвичай вони застосовуються для спрощення складних умов, що мають кілька різних варіантів.

Інструкція Case Bash дотримується подібної логіки, як оператор Javascript або C switch. Існує невелика різниця, а саме:

  • Інструкція Bash case приймає значення один раз і перевіряє це значення кілька разів. Він припиняє пошук шаблону, коли він його знайшов і виконав оператор, пов’язаний з ним, що майже протилежно у випадку оператора switch C.

Синтаксис інструкції

Синтаксис оператора bash case наведено нижче:

 case expression in pattern_1) statements ;; pattern_2) statements ;; pattern_3|pattern_4|pattern_5) statements ;; pattern-n) statements ;; *) statements ;; esac 

Є кілька ключових моментів операторів bash case:

  • Кожен оператор case у bash починається з ключового слова 'case', за яким слідують вираз case і ключове слово 'in'. Оператор case закривається ключовим словом 'esac'.
  • Ми можемо застосувати кілька шаблонів, розділених | оператор. Оператор ) вказує на закінчення списку шаблонів.
  • Шаблон, що містить оператори, називається пропозицією, і він повинен закінчуватися подвійною крапкою з комою (;;).
  • Символ зірочки (*) використовується як останній шаблон для визначення регістру за замовчуванням. Він використовується як регістр за замовчуванням, коли використовується як останній регістр.

Як це працює

По-перше, оператор case розширює вираз і намагається відповідати кожному з включених шаблонів. Коли він знаходить відповідність, усі пов’язані оператори виконуються до подвійної крапки з комою (;;). Після першого збігу case завершується статусом виходу останнього виконаного оператора.

Якщо відповідного шаблону немає, статус виходу справи дорівнює нулю. В іншому випадку статус повернення є статусом виходу виконуваних операторів.

Якщо використовується шаблон зірочки за замовчуванням, він буде виконаний у разі відсутності відповідного шаблону.

Спробуємо зрозуміти цей механізм на кількох прикладах:

Приклад 1

У цьому прикладі ми визначили простий сценарій, щоб продемонструвати використання оператора case.

Скрипт Bash

 #!/bin/bash echo 'Do you know Java Programming?' read -p 'Yes/No? :' Answer case $Answer in Yes|yes|y|Y) echo 'That's amazing.' echo ;; No|no|N|n) echo 'It's easy. Let's start learning from javatpoint.' ;; esac 

Вихід

Bash Case

Приклад 2

У цьому прикладі ми визначили комбінований сценарій, де також існує випадок за замовчуванням, коли попередній відповідний випадок не знайдено.

як отримати приховані програми

Скрипт Bash

 #!/bin/bash echo 'Which Operating System are you using?' echo 'Windows, Android, Chrome, Linux, Others?' read -p 'Type your OS Name:' OS case $OS in Windows|windows) echo 'That's common. You should try something new.' echo ;; Android|android) echo 'This is my favorite. It has lots of applications.' echo ;; Chrome|chrome) echo 'Cool!!! It's for pro users. Amazing Choice.' echo ;; Linux|linux) echo 'You might be serious about security!!' echo ;; *) echo 'Sounds interesting. I will try that.' echo ;; esac 

Вихід

Ми запустили сценарій із трьома різними входами, перегляньте вихідні дані нижче:

Bash Case

Висновок

У цій темі ми дізналися про синтаксис і використання оператора Bash Case на прикладах.