Príkaz Bash case sa používa na vykonanie náležitej akcie porovnaním údajov, ako je príkaz if. Funguje to ako príkaz iného prípadu v iných štandardných programovacích jazykoch. Tento príkaz začína príkazom „prípad“ a končí sa príkazom „esac“. V príkaze case sa nepoužíva príkaz break a je potrebné uviesť dvojitú zátvorku (;;), ktorá uvedie príkaz (y) pre konkrétnu zhodu. Tento príkaz rozširuje výraz a pokúša sa zhodovať s daným vzorom. Ak nebude nájdená zhoda, bude stavový kód ukončenia tohto príkazu nulový. V tejto príručke sú uvedené niektoré bežné príklady vyhlásení o prípadoch.
Príklad-1: jednoduché vyjadrenie prípadu
V príkaze bash case sa na vygenerovanie výstupu na základe zhody podmienky použije jeden podmienený výraz. Vytvorte bash súbor s názvom prípad1.š s nasledujúcim bash skriptom. Skript prevezme hodnotu reťazca a porovná ju s každým výrazom. Nasledujúci skript vygeneruje hlásenie „Nenašiel sa žiadny záznam“, ak neexistuje zodpovedajúci výraz,
prípad1.š
echo "Zadajte svoje meno"
prečítať meno
prípad $ meno v
Yesmin)
echo "Vaša obľúbená farba je modrá" ;;
Fahmida)
echo "Váš obľúbený nápoj je Sprite" ;;
*)
echo "Nenašiel sa žiadny záznam" ;;
esac
Spustite skript.
$ bash case1.šVýkon:
Súbor sa tu vykoná s platným a neplatným vstupom, aby sa otestoval výstup.
Príklad-2: vyhlásenie viacerých prípadov s rúrok
Na vykonanie rôznych typov príkazov je možné v bash skripte použiť viac výrazov veľkých a malých písmen. Symbol potrubia (|) možno použiť na priradenie viacerých výrazov. Vytvorte bash súbor s názvom prípad2.š s nasledujúcim skriptom. Ak sa po spustení skriptu zhoduje vstupná hodnota s akýmkoľvek výrazom, vytlačí sa zodpovedajúca textová hodnota.
prípad2.š
echo "Zadajte svoje identifikačné číslo"
prečítať ID
prípad $ ID v
65341)
echo "Vaša pozícia je 1." ;;
97564 | 88453)
echo "Vaša pozícia je druhá" ;;
45087)
echo "Vaša pozícia je 3." ;;
*)
echo "Neplatné ID" ;;
esac
Spustite skript .
$ bash case2.šVýkon:
Tento skript funguje rovnako ako predchádzajúci príklad. Jediný rozdiel je v tom, že sa viacnásobné hodnoty výrazu testujú pre jeden výstup.
Príklad-3: Ako ukončiť blok príkazov / esac
Keď sa príkaz bash použije v nekonečnej slučke, na ukončenie cyklu sa vyžaduje príkaz exit. Tento príklad ukazuje, ako je možné vykonať tieto typy úloh. Vytvorte textový súbor s názvom prípad3.š s nasledujúcim skriptom. Tento skript bude mať ako vstup akékoľvek číslo od 1 do 3. Ak je vstup 1, potom sa pridajú dve čísla, ak je vstup 2, dve čísla sa odčítajú a ak je vstupné číslo 3, dve čísla sa vynásobia. Výstup bude „Neplatný vstup“, ak je číslo vstupu viac ako 3 alebo menej ako 1 alebo je prázdne.
prípad3.š
#!/ bin / bash
while (true)
robiť
a = 8
b = 4
((x = $ a + $ b))
((y = $ a - $ b))
((z = $ a * $ b))
echo "Typ 1 alebo 2 alebo 3"
prečítať ans
prípad $ ans v
1) echo "Súčet $ a a $ b je $ x & exit" ;;
2) echo "Odčítanie $ a a $ b je $ y & exit" ;;
3) echo "Násobenie $ a a b je $ z & exit" ;;
*) echo „Neplatný údaj“
esac
hotový
Spustite skript.
$ bash case3.šVýkon:
Skript sa bude naďalej spúšťať, kým nebude stlačená klávesová skratka ctrl + c.
Príklad-4: Kontrola hodnoty argumentu prázdneho príkazového riadku
Premennú argumentu príkazového riadku je možné použiť v príkaze bash case. Vytvorte súbor s názvom prípad4.š s nasledujúcim skriptom, ktorý skontroluje hodnotu druhej premennej argumentu.
#!/ bin / bashprípad "$ 2" v
„Ubuntu“)
echo "Druhý argument je 2 doláre.„
;;
„CentOS“)
echo "Druhý argument je 2 doláre.„
;;
„“)
echo „Druhý argument je prázdny.„
;;
esac
Spustite skript.
$ bash case4.šVýkon:
Tu sa skript vykoná po prvýkrát bez akejkoľvek hodnoty argumentu druhého príkazového riadku a na výstupe sa zobrazí „Druhý argument je prázdny“. Ak sa skript vykoná druhýkrát s hodnotou argumentu druhého príkazového riadku, nezobrazí sa žiadny výstup.
Príklad 5: Vyhlásenie viacerých prípadov na základe vstupu používateľa
Vytvorte bash súbor s názvom prípad5.š s nasledujúcim skriptom. Skript vezme meno mesiaca ako vstup používateľa. Ak sa názov mesiaca zhoduje s hodnotou prípadu, potom bude do premennej Správa priradená konkrétna textová správa. Vstupnou hodnotou musí byť celý názov mesiaca alebo trojmesačný názov mesiaca.
prípad5.š
#!/ bin / bashecho "Zadajte názov mesiaca"
prečítaný mesiac
prípad $ mesiac v
Január | január *)
Správa = "21. február je náš medzinárodný deň matiek.„
;;
Február | február *)
Správa = "21. február je náš medzinárodný deň matiek.„
;;
Marec | mar *)
Správa = "9. marec je svetovým dňom obličiek.„
;;
Apríl | apríl *)
Správa = "Aktuálny mesiac nie je február"
;;
Máj | máj *)
Správa = "Aktuálnym mesiacom je február"
;;
Jún | jún *)
Správa = "Aktuálnym mesiacom je február"
;;
*)
Správa = "Nenašli sa žiadne zodpovedajúce informácie"
;;
esac
echo $ Správa
Spustite skript.
$ bash case5.šVýkon:
Pre vstupnú hodnotu sa zobrazí nasledujúci výstup: „Marec“ alebo „Mar“.
Príklad 6: Skontrolujte premennú v príkaze bash case
Ľubovoľnú hodnotu reťazca je možné vytlačiť kontrolou hodnoty premennej argumentu príkazového riadku. Vytvorte textový súbor s názvom prípad6.š s nasledujúcim skriptom. V tomto príklade je skontrolovaná hodnota prvej premennej argumentu a ak je hodnota prázdna, vytlačí sa reťazec „I like bash programming“.
prípad6.š
#!/ bin / bashprípad $ 1 v
("") echo "Mám rád bash programovanie";
esac
Spustite skript.
$ bash case6.šVýkon:
Tento skript sa vykonáva s prvými argumentmi a bez nich. Ak neprejde žiadna premenná argumentu príkazového riadku, nebude výstup.
Záver
V tomto článku sú zobrazené rôzne použitia príkazu bash case. Ak čitatelia tieto príklady správne nacvičia, bude pre nich jednoduchšie vyriešiť mnoho problémov s programovaním bash.