Jak používat prohlášení o případu Bash

How Use Bash Case Statement



Příkazy Bash case jsou podobné příkazům if-else, ale jsou jednodušší a jednodušší. Pomáhá porovnat jednu proměnnou s několika hodnotami. Používá se, když požadujete příkazy IF-else s řadou příkazů Elif ... Je to docela podobné příkazu switch v C, ale příkaz bash case se nepohybuje vpřed, jakmile je vzor spárován

V tomto článku vysvětlíme, jak používat příkaz Bash case s příkladem v operačním systému Linux.







Syntaxe příkazu bash case

Zde je syntaxe příkazu bash case:



Syntax:



případ $ proměnná v
vzor-1)
příkazy
;;
vzor-2)
příkazy
;;
vzor-3)
příkazy
;;
vzor-N)
příkazy
;;
*)
příkazy
;;
esac
  • Příkaz case začíná na case a končí na esac
  • The) se používá k ukončení vzoru. Chcete -li oddělit více vzorů, | Operátor se používá, jak je uvedeno níže:
případ $ proměnná v
vzor-1|vzor-2)
příkazy
....
....
;;
vzor-3|vzor-4)
příkazy
....
....
;;
  • Vzor s příkazy je známý jako klauzule a každá klauzule končí (;;).
  • Symbol hvězdičky* lze použít k definování výchozího případu.
  • Příkaz Bash case nejprve odpovídá vstupní proměnné $ s různými vzory. Pokud je vzor shodný, bude provedena odpovídající sada příkazů až do dvojtečky (;;).

Příklad 1:

Následující příklad je o hotovostním výpisu bash, ve kterém uživatele požádá o zadání názvu měsíce. Pokud tento vstup odpovídá definovaným vzorům ve skriptu, bude proveden odpovídající příkaz echo. Příkaz echo zobrazí informace o mezinárodní události v daném měsíci.





Chcete -li použít tento skript, vytvořte jednoduchý textový soubor; pojmenujte jej příponou souboru .sh. Přidejte do něj následující skript a uložte jej. Poté přiřaďte tento soubor ke spouštění oprávnění spuštěním následujícího příkazu v Terminálu:

$sudo chmod 777název_souboru.sh

Chcete -li spustit tento soubor bash, jednoduše spusťte ./ následovaný názvem souboru bash následujícím způsobem:



$./název_souboru.sh

Když spustíte skript, budete požádáni o zadání názvu měsíce jako vstupu. Pokud je název měsíce shodný, zobrazí se odpovídající událost v daném konkrétním měsíci, jinak se nezobrazí žádné odpovídající informace.

Všimněte si, že shopt -s nocasematch se používá k přizpůsobení vzoru bez ohledu na jeho případ.

obchody -snocasematch

vyhodil „Zadejte název měsíce“
čístMěsíc
případ $ měsíc v
leden)
vyhodil '24. leden mezinárodní den vzdělávání.'
;;
Únor)
vyhodil '20. února Světový den sociální spravedlnosti.'
;;
březen)
vyhodil '8. března Mezinárodní den žen.'
;;
duben)
vyhodil „7. duben Světový den zdraví“
;;
Smět)
vyhodil „Mezinárodní den rodin 15. května“
;;
červen)
vyhodil „20. červen Světový den uprchlíků“
;;
červenec)
vyhodil „11. července Světový den populace“
;;
*)
vyhodil „Nebyly nalezeny žádné odpovídající informace“
;;
esac

Příklad 2:

Následující příklad se týká hotovostního výpisu bash, ve kterém je uživatel požádán o zadání názvu země. Pokud tento vstup odpovídá definovaným vzorům ve skriptu, bude proveden odpovídající příkaz echo. Příkaz echo zobrazí informace o hlavním městě dané země.

Chcete -li použít tento skript, postupujte podle stejné metody popsané ve výše uvedeném příkladu. Až budete hotovi, spusťte skript a budete vyzváni k zadání názvu země jako vstupu. Pokud se název země shoduje s předdefinovanými názvy zemí, zobrazí se hlavní jméno dané země, v opačném případě se zobrazí zpráva Informace není k dispozici.

#!/bin/bash
obchody -snocasematch
vyhodil -n „Zadejte název země:“
čístzemě

vyhodil -n 'Hlavní město$ zeměje '
případ $ země v
Pákistán)
vyhodil -n 'Islámábád'
;;
Fidži)
vyhodil -n 'Suchý'
;;
Spojené království| 'Spojené království')
vyhodil -n 'Londýn'
;;
krocan)
vyhodil -n 'Ankara'
;;
POUŽITÍ)
vyhodil -n 'Washington DC'
;;
*)
vyhodil -n 'Informace nejsou k dispozici'
;;
esac
vyhodil ''

Příkazy Bash case usnadňují čtení a porozumění skriptu bash. V tomto článku jsme se zabývali tím, jak psát a používat příkazy bash case. Nyní můžete psát druh víceúrovňového příkazu if-else jednoduše a jednoduše pomocí příkazů case.