Introduction to Bash Scripting 13 - The Case Statement
Obsah:
Příkazy case Bash se obvykle používají ke zjednodušení složitých podmínek, máte-li více různých možností. Použití příkazu case namísto vnořených příkazů if vám pomůže zlepšit čitelnost a snadnější údržbu vašich bash skriptů.
Příkaz Bash case má podobný koncept jako příkaz Javascript nebo C switch. Hlavní rozdíl spočívá v tom, že na rozdíl od příkazu C switch příkaz case Bash nadále nenajde shodu vzoru, jakmile najde jeden a provede příkazy spojené s tímto vzorem.
V tomto tutoriálu se seznámíme se základy příkazů Bash case a ukážeme vám, jak je používat ve skriptech shellu.
Syntaxe příkazu Case
Příkaz Bash má následující podobu:
case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac
- Každý příkaz case začíná klíčovým slovem
case
následovaným výrazem case a klíčovým slovemin
. Příkaz končíesac
slovemesac
Můžete použít více vzorů oddělených znakem|
operátor. Operátor the)
ukončí seznam vzorů. Vzor může mít speciální znaky. Vzor a jeho přidružené příkazy jsou známé jako klauzule. Každá klauze musí být ukončena;;
.Vykonávají se příkazy odpovídající prvnímu vzoru, který odpovídá výrazu.Je běžnou praxí používat zástupný znak hvězdičky (*
) jako konečný vzor k definování výchozího případu. Tento vzor se bude vždy shodovat. Není-li přiřazen žádný vzor, stav návratu je nula. Jinak je stav návratu stavem ukončení provedených příkazů.
Příklad případu
Zde je příklad použití příkazu case v bash skriptu, který vytiskne oficiální jazyk dané země:
languages.sh
#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac
Uložte vlastní skript jako soubor a spusťte jej z příkazového řádku.
bash languages.sh
Skript vás požádá o zadání země. Pokud například zadáte „Litva“, bude odpovídat prvnímu vzoru a bude proveden příkaz
echo
v této klauzuli.
Skript vytiskne následující výstup:
Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian
Enter the name of a country: Argentina The official language of Argentina is unknown
Závěr
Do této chvíle byste měli dobře rozumět tomu, jak psát bash případová prohlášení. Často se používají k předávání parametrů do shellového skriptu z příkazového řádku. Například skripty init používají příkazy case pro spuštění, zastavení nebo restartování služeb.
Dohoda dává každé společnosti větší přístup k patentovým portfoliu druhé společnosti vztahy mezi těmito dvěma společnostmi začlenily patentované technologie do svých výrobků, uvedli ve svém prohlášení.

Společnosti uvedly, že společnost Microsoft bude platit od společnosti Pioneer poplatek, i když nebyly zveřejněny konkrétní finanční podmínky dohody.
Ve svém prohlášení prostřednictvím společnosti pro styk s veřejností , Microsoft uvedl, že zatímco pomáhá lidem nakupovat on-line je hlavním cílem společnosti Bing, je to jen jedna ze čtyř společností, která měla na mysli v červnu, kdy vydala vyhledávač, upravenou a rebrandovanou verzi svého Live Searchu. V červnovém vydání jsme se zaměřili na čtyři klíčové oblasti, kde lidé tráví čas při hledání, "uvedl Microsoft v e-mailovém prohlášení. "Tyto čtyři oblasti investic jsou cestování, mí

Společnost Microsoft se v té době pokoušela odlišit Bing od konkurenčního vyhledávače Google tím, že jej nazývá " rozhodování "zaměřený na pomoc lidem při přijímání lepších rozhodnutí online. Lidé, kteří používají tento web, poznamenali, že nákupní a cestovní sekce - které pomáhají lidem najít produkty, stejně jako letenky a další položky související s cestovním ruchem - zřejmě přinášejí některé z nejkomplexnějších výsledků vyhledávání.
Bash if..else prohlášení

Rozhodování je jedním z nejzákladnějších konceptů počítačového programování. Stejně jako v jakémkoli jiném programovacím jazyce, pokud, pokud..else, if..elif..else a vnořené, pokud příkazy v Bash lze použít ke spuštění kódu na základě určité podmínky.