Android

Deklaracja przypadku Bash

Introduction to Bash Scripting 13 - The Case Statement

Introduction to Bash Scripting 13 - The Case Statement

Spisu treści:

Anonim

Instrukcje case Bash są zwykle stosowane w celu uproszczenia złożonych warunków warunkowych, gdy masz wiele różnych opcji. Użycie instrukcji case zamiast zagnieżdżonej instrukcji if sprawi, że twoje skrypty bash będą bardziej czytelne i łatwiejsze w utrzymaniu.

Instrukcja case Bash ma podobną koncepcję jak instrukcja JavaScript lub C. Główną różnicą jest to, że w przeciwieństwie do instrukcji przełączania C, instrukcja przypadku Bash nie kontynuuje wyszukiwania dopasowania wzorca po znalezieniu go i wykonaniu instrukcji powiązanych z tym wzorcem.

W tym samouczku omówimy podstawy instrukcji Bash i pokażemy, jak ich używać w skryptach powłoki.

Składnia instrukcji case

Instrukcja sprawy Bash ma następującą formę:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Każda instrukcja case rozpoczyna się słowem kluczowym case po którym następuje wyrażenie case i słowo kluczowe in . Instrukcja kończy się słowem kluczowym esac Możesz użyć wielu wzorców oddzielonych | operator. Operator ) kończy listę wzorców. Wzorzec może zawierać znaki specjalne. Wzorzec i powiązane z nim polecenia są znane jako klauzula. Każda klauzula musi zostać zakończona za pomocą ;; Wykonywane są polecenia odpowiadające pierwszemu wzorowi pasującemu do wyrażenia. Powszechną praktyką jest używanie symbolu gwiazdki z symbolem wieloznacznym ( * ) jako ostatecznego wzorca w celu zdefiniowania wielkości domyślnej. Ten wzorzec zawsze będzie pasował. Jeśli żaden wzorzec nie zostanie dopasowany, zwracany jest zero. W przeciwnym razie stanem zwrotnym jest status wyjścia wykonanych poleceń.

Przykład instrukcji przypadku

Oto przykład użycia instrukcji case w skrypcie bash, który wydrukuje oficjalny język danego kraju:

języki.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

Zapisz niestandardowy skrypt jako plik i uruchom go z wiersza polecenia.

bash languages.sh

Skrypt poprosi Cię o podanie kraju. Na przykład, jeśli wpiszesz „Litwa”, dopasuje pierwszy wzorzec i polecenie echo w tej klauzuli zostanie wykonane.

Skrypt wydrukuje następujące dane wyjściowe:

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

Wniosek

Do tej pory powinieneś dobrze rozumieć, jak pisać instrukcje bash. Często są one używane do przekazywania parametrów do skryptu powłoki z wiersza poleceń. Na przykład skrypty init używają instrukcji case do uruchamiania, zatrzymywania lub ponownego uruchamiania usług.

terminal bash