logo

Případ Bash

V tomto tématu probereme základy případových příkazů a jak je používat ve skriptech Bash.

Příkaz Bash case je nejjednodušší formou IF-THEN-ELSE s mnoha prvky ELIF. Pomocí příkazu case je náš bash skript čitelnější a snadněji se udržuje. Ty se obecně používají ke zjednodušení složitých podmínek s více různými možnostmi.

Příkaz Bash case se řídí podobnou logikou jako příkaz Javascript nebo C switch. Je zde malý rozdíl, a to následovně:

  • Příkaz Bash case nabývá hodnotu jednou a testuje tuto hodnotu vícekrát. Přestane hledat vzor, ​​jakmile jej najde a provede příkaz s ním spojený, což je téměř opak v případě příkazu C switch.

Syntaxe prohlášení o případu

Syntaxe příkazu bash case je uvedena níže:

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

Existuje několik klíčových bodů prohlášení bash case:

  • Každý případ případu v bash začíná klíčovým slovem 'case', následovaným výrazem případu a klíčovým slovem 'in'. Příkaz případu je uzavřen klíčovým slovem 'esac'.
  • Můžeme použít více vzorů oddělených | operátor. Operátor ) označuje ukončení seznamu vzorů.
  • Vzor obsahující příkazy se nazývá klauzule a musí být ukončen dvojitým středníkem (;;).
  • Symbol hvězdičky (*) se používá jako konečný vzor k definování výchozího případu. Používá se jako výchozí případ, když je použit jako poslední případ.

Jak to funguje

Za prvé, příkaz case rozšiřuje výraz a pokouší se o shodu s každým ze zahrnutých vzorů. Když najde shodu, všechny propojené příkazy se provedou až do dvojitého středníku (;;). Po první shodě se případ ukončí stavem ukončení posledního provedeného příkazu.

Pokud neexistuje žádný odpovídající vzor, ​​výstupní stav případu je nula. Jinak je návratový stav výstupním stavem provedených příkazů.

Pokud je použit výchozí vzor hvězdičky, bude proveden v případě, že neexistuje žádný odpovídající vzor.

Pokusme se tento mechanismus pochopit pomocí několika příkladů:

Příklad 1

V tomto příkladu jsme definovali jednoduchý scénář, který demonstruje použití pří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ýstup

Případ Bash

Příklad 2

V tomto příkladu jsme definovali kombinovaný scénář, kde také existuje výchozí případ, kdy není nalezen žádný předchozí odpovídající případ.

java scan.nextstring

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ýstup

Spustili jsme skript se třemi různými vstupy, podívejte se na výstup níže:

Případ Bash

Závěr

V tomto tématu jsme se na příkladech dozvěděli o syntaxi a použití příkazu Bash Case.