GNU/Linux >> Znalost Linux >  >> Linux

Prohlášení k případu Bash

case bash příkaz se obecně používá ke zjednodušení složitých podmínek, když máte více různých možností. Pomocí case příkaz namísto vnořeného if příkazy vám pomohou učinit vaše bash skripty čitelnějšími a snadněji udržovatelnými.

case Bash příkaz má podobný koncept jako Javascript nebo C switch prohlášení. Hlavní rozdíl je v tom, že na rozdíl od C switch prohlášení, case Bash příkaz nepokračuje v hledání shody vzoru, jakmile ji najde a provede příkazy spojené s daným vzorem.

V tomto tutoriálu probereme základy case Bash a ukáže vám, jak jej používat ve vašich shellových skriptech.

case Syntaxe příkazu #

case Bash výpis má následující tvar:

case EXPRESSION in

  PATTERN_1)
    STATEMENTS
    ;;

  PATTERN_2)
    STATEMENTS
    ;;

  PATTERN_N)
    STATEMENTS
    ;;

  *)
    STATEMENTS
    ;;
esac
  • Každý case příkaz začíná case klíčové slovo, za nímž následuje výraz pro malá a velká písmena a in klíčové slovo. Příkaz končí esac klíčové slovo.
  • Můžete použít více vzorů oddělených | operátor. ) operátor 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á klauzule musí být ukončena znakem ;; .
  • Provedou se příkazy odpovídající prvnímu vzoru, který odpovídá výrazu.
  • Je běžnou praxí používat zástupný symbol hvězdičky (* ) jako konečný vzor pro definování výchozího případu. Tento vzor bude vždy odpovídat.
  • Pokud neodpovídá žádnému vzoru, návratový stav je nula. V opačném případě je návratovým stavem stav ukončení provedených příkazů.

Příklad prohlášení o případu č.

Zde je příklad použití case výpis ve skriptu bash, 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 echo bude proveden příkaz 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

Pokud zadáte zemi, která neodpovídá žádnému jinému vzoru kromě výchozího zástupného symbolu hvězdičky, řekněme Argentina, skript spustí echo commanduvnitř výchozí klauzule.

Enter the name of a country: Argentina
The official language of Argentina is unknown

Závěr č.

Nyní byste měli dobře rozumět tomu, jak psát bash case prohlášení. Často se používají k předávání parametrů skriptu shellu z příkazového řádku. Například init skripty používají case příkazy pro spouštění, zastavování nebo restartování služeb.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Použití případových prohlášení v Bash

  2. Bash If-Else prohlášení s příklady

  3. 4 Příklady příkazů Bash If ( If then fi, If then else fi, If elif else fi, Nested if )

  1. 5 Příklady prohlášení o případu Bash

  2. Bash/sh příkaz „jestli je to jinak“.

  3. linux bash, řetězec velbloudího pouzdra k oddělení pomlčkou

  1. Prohlášení Bash if elif else:Komplexní návod

  2. Jak používat příkaz if else Conditionals ve skriptu Bash

  3. Existuje příkaz goto v bash?