Příkazy pro Linux

Příkaz BASH Case

Příkaz BASH Case

Příkaz Bash case se používá k provedení správné akce porovnáním dat jako příkaz if. Funguje to jako přepínací případ jiných standardních programovacích jazyků. Tento příkaz začíná příkazem „case“ a končí příkazem „esac“. V příkazu case se nepoužívá příkaz break a je třeba uvést dvojitý závorek (;;), který uvádí prohlášení pro konkrétní shodu. Tento příkaz rozšíří výraz a pokusí se odpovídat danému vzoru a stavový kód ukončení tohoto příkazu bude nulový, pokud nebude nalezena shoda. V tomto kurzu jsou uvedeny některé běžné příklady příkazů case.

Příklad 1: jednoduché prohlášení o případu

Jeden podmíněný výraz se používá v příkazu bash case ke generování výstupu na základě odpovídající podmínky. Vytvořte soubor bash s názvem případ1.sh s následujícím bash skriptem. Skript vezme hodnotu řetězce a porovná hodnotu s každým výrazem. Následující skript vygeneruje „Nebyla nalezena žádná položka“, pokud neexistuje odpovídající výraz,
případ1.sh

#!/ bin / bash
echo "Napište své jméno"
číst jméno
případ $ name v
Yesmin)
echo "Vaše oblíbená barva je modrá" ;;
Fahmida)
echo "Váš oblíbený nápoj je Sprite" ;;
*)
echo "Nenalezena žádná položka" ;;
esac

Spusťte skript.

$ bash případ 1.sh

Výstup:

Soubor je zde spuštěn s platným a neplatným vstupem, aby se otestoval výstup.

Příklad-2: prohlášení o více případech s rourou

V bash skriptu lze použít více výrazů velkých a malých písmen k provádění různých typů příkazů. Symbol potrubí (|) lze použít k přiřazení více výrazů. Vytvořte soubor bash s názvem případ2.sh s následujícím skriptem. Po spuštění skriptu, pokud se vstupní hodnota shoduje s libovolným výrazem, bude vytištěna odpovídající textová hodnota.
případ2.sh

#!/ bin / bash
echo "Napište své identifikační číslo"
číst ID
případ $ ID v
65341)
echo "Vaše pozice je první" ;;
97564 | 88453)
echo "Vaše pozice je druhá" ;;
45087)
echo "Vaše pozice je 3." ;;
*)
echo "Neplatné ID" ;;
esac

Spusťte skript .

$ bash case2.sh

Výstup:

Tento skript funguje stejně jako v předchozím příkladu. Jediný rozdíl je v tom, že více hodnot výrazu je testováno pro jeden výstup.

Příklad-3: Jak ukončit blok příkazů / esac

Když je příkaz bash case použit pod nekonečnou smyčkou, je k ukončení smyčky nutné použít příkaz exit. Tento příklad ukazuje, jak lze tyto typy úkolů provést. Vytvořte textový soubor s názvem případ3.sh s následujícím skriptem. Tento skript bude mít jako vstup jakékoli číslo od 1 do 3. Pokud je vstup 1, pak se přidají dvě čísla, pokud je vstup 2, pak se dvě čísla odečtou a pokud je vstupní číslo 3, pak se dvě čísla vynásobí. Výstup bude „Neplatný záznam“, pokud je číslo vstupu větší než 3 nebo menší než 1 nebo prázdné.
případ3.sh

#!/ bin / bash
#!/ bin / bash
while (true)
dělat
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
echo "Typ 1 nebo 2 nebo 3"
číst odpovědi
případ $ ans v
1) echo "Součet $ a a $ b je $ x & exit" ;;
2) echo "Odečtení $ a a $ b je $ y & exit" ;;
3) echo "Násobení $ a a b je $ z & exit" ;;
*) echo "Neplatný záznam"
esac
Hotovo

Spusťte skript.

$ bash case3.sh

Výstup:

Skript se bude nadále spouštět, dokud nebude stisknuto ctrl + c.

Příklad 4: Kontrola prázdné hodnoty argumentu příkazového řádku

Proměnnou argumentu příkazového řádku lze použít v příkazu bash case. Vytvořte soubor s názvem případ4.sh s následujícím skriptem, který zkontroluje hodnotu druhé proměnné argumentu.

#!/ bin / bash
případ "$ 2" v
„Ubuntu“)
echo "Druhý argument je $ 2."
;;
„CentOS“)
echo "Druhý argument je $ 2."
;;
„“)
echo "Druhý argument je prázdný."
;;
esac

Spusťte skript.

$ bash případ4.sh

Výstup:

Zde je skript poprvé spuštěn bez jakékoli druhé hodnoty argumentu příkazového řádku a na výstupu se zobrazí „Druhý argument je prázdný“. Pokud je skript spuštěn s druhou hodnotou argumentu příkazového řádku podruhé, pak se nezobrazí žádný výstup.

Příklad-5: prohlášení o více případech na základě vstupu uživatele

Vytvořte soubor bash s názvem případ5.sh s následujícím skriptem. Skript vezme název měsíce jako vstup uživatele. Pokud se název měsíce shoduje s libovolnou hodnotou případu, bude konkrétní proměnná přiřazena do proměnné Zpráva. Vstupní hodnota musí být název celého měsíce nebo název měsíce se třemi znaky.

případ5.sh

#!/ bin / bash
echo "Zadejte název měsíce"
číst měsíc
případ $ měsíc v
Leden | led *)
Message = "21. února je náš mezinárodní den matek."
;;
Únor | únor *)
Message = "21. února je náš mezinárodní den matek."
;;
Březen | Březen *)
Message = "9. března je světový den ledvin."
;;
Duben | duben *)
Zpráva = "Aktuální měsíc není únor"
;;
Květen | květen *)
Zpráva = "Aktuální měsíc je únor"
;;
Červen | červen *)
Zpráva = "Aktuální měsíc je únor"
;;
*)
Zpráva = "Nebyly nalezeny žádné odpovídající informace"
;;
esac
echo $ Zpráva

Spusťte skript.

$ bash case5.sh

Výstup:

Pro vstupní hodnotu se zobrazí následující výstup, „březen“ nebo „březen“.

Příklad 6: Zkontrolujte proměnnou v příkazu bash case

Libovolnou hodnotu řetězce lze vytisknout kontrolou hodnoty proměnné argumentu příkazového řádku. Vytvořte textový soubor s názvem případ6.sh s následujícím skriptem. V tomto příkladu je zkontrolována hodnota první proměnné argumentu a pokud je hodnota prázdná, bude vytištěn řetězec „I like bash programming“.

případ6.sh

#!/ bin / bash
případ $ 1 v
("") echo "Mám rád bash programování";
esac

Spusťte skript.

$ bash case6.sh

Výstup:

Tento skript se provádí s prvními argumenty i bez nich. Pokud neprojde žádná proměnná argumentu příkazového řádku, nebude žádný výstup.

Závěr

V tomto článku jsou uvedena různá použití příkazu bash case. Pokud čtenáři procvičí tyto příklady správně, bude pro ně snazší vyřešit mnoho problémů s programováním bash.

Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...