Príkazy pre Linux

Príkaz BASH Case

Príkaz BASH Case

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.š

#!/ bin / bash
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.š

#!/ bin / bash
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
#!/ 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 / bash
prí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 / bash
echo "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 / bash
prí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.

Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...
Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...
Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...