Android

Bash případ prohlášení

Introduction to Bash Scripting 13 - The Case Statement

Introduction to Bash Scripting 13 - The Case Statement

Obsah:

Anonim

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 slovem in . Příkaz končí esac slovem esac 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.

bash terminál