logo

Prípad Bash

V tejto téme budeme diskutovať o základoch prípadových príkazov a o tom, ako ich používať v skriptoch Bash.

Bash case je najjednoduchšia forma IF-THEN-ELSE s mnohými prvkami ELIF. Použitím príkazu case je náš bash skript čitateľnejší a ľahšie sa udržiava. Tieto sa vo všeobecnosti používajú na zjednodušenie zložitých podmienok s viacerými rôznymi možnosťami.

Príkaz typu Bash má podobnú logiku ako príkaz Javascript alebo C switch. Je tu malý rozdiel, a to nasledovne:

  • Príkaz Bash case nadobudne hodnotu raz a testuje túto hodnotu viackrát. Prestane hľadať vzor, ​​keď ho nájde a vykoná príkaz s ním spojený, čo je takmer opak v prípade príkazu C switch.

Syntax výpisu z prípadu

Syntax príkazu bash case je uvedený nižšie:

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

Existuje niekoľko kľúčových bodov vyhlásení bash case:

  • Každý prípad v bash začína kľúčovým slovom „case“, za ktorým nasleduje výraz „case“ a kľúčové slovo „in“. Príkaz prípadu je uzavretý kľúčovým slovom 'esac'.
  • Môžeme použiť viacero vzorov oddelených | operátor. Operátor ) označuje ukončenie zoznamu vzorov.
  • Vzor obsahujúci príkazy sa označuje ako klauzula a musí byť ukončený dvojitou bodkočiarkou (;;).
  • Symbol hviezdičky (*) sa používa ako konečný vzor na definovanie predvoleného prípadu. Používa sa ako predvolený prípad, keď sa používa ako posledný prípad.

Ako to funguje

Po prvé, príkaz case rozširuje výraz a snaží sa zhodovať s každým zo zahrnutých vzorov. Keď nájde zhodu, všetky prepojené príkazy sa vykonajú až po dvojitú bodkočiarku (;;). Po prvej zhode sa prípad ukončí stavom ukončenia posledného vykonaného príkazu.

Ak neexistuje zhodný vzor, ​​výstupný stav prípadu je nula. V opačnom prípade je návratový stav výstupným stavom vykonaných príkazov.

Ak sa použije predvolený vzor hviezdičky, vykoná sa v prípade, že sa nenájde žiadny zodpovedajúci vzor.

Pokúsme sa pochopiť tento mechanizmus pomocou niekoľkých príkladov:

Príklad 1

V tomto príklade sme definovali jednoduchý scenár na demonštráciu použitia príkazu case.

Bash skript

 #!/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 

Výkon

Prípad Bash

Príklad 2

V tomto príklade sme definovali kombinovaný scenár, kde existuje aj predvolený prípad, keď sa nenájde žiadny predchádzajúci zodpovedajúci prípad.

inštanciovaná java

Bash skript

 #!/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 

Výkon

Spustili sme skript s tromi rôznymi vstupmi, pozrite si výstup nižšie:

Prípad Bash

Záver

V tejto téme sme sa dozvedeli o syntaxi a použití príkazu Bash Case s príkladmi.