Android

Bash fall uttalande

Introduction to Bash Scripting 13 - The Case Statement

Introduction to Bash Scripting 13 - The Case Statement

Innehållsförteckning:

Anonim

Bash case-uttalanden används vanligtvis för att förenkla komplexa villkor när du har flera olika val. Använda ärendeuttalandet istället för att kapsla om uttalanden hjälper dig att göra dina basskript mer läsbara och lättare att underhålla.

Uttalandet om Bash-fallet har ett liknande koncept med Javascript- eller C-uttalandet. Huvudskillnaden är att till skillnad från C-uttalandet fortsätter inte Bash-fallet att söka efter ett mönstermatch när det har hittat ett och exekverat uttalande i samband med det mönstret.

I den här handledningen täcker vi grunderna i Bash-fallet och visar dig hur du använder dem i dina skalskript.

Fallutlåtande syntax

Uttalandet av Bash-fallet har följande form:

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

  • Varje ärende uttalande börjar med case nyckelord följt av ärende uttryck och in nyckelord. Uttalandet slutar med esac esac.Du kan använda flera mönster separerade av | operatör. Operatören avslutar en mönsterlista. Ett mönster kan ha specialtecken. Ett mönster och tillhörande kommandon kallas en klausul. Varje klausul måste avslutas med ;; .Kommandona som motsvarar det första mönstret som matchar uttrycket exekveras. Det är vanligt att använda jokerteckenens asterisk-symbol ( * ) som ett sista mönster för att definiera standardfallet. Det här mönstret kommer alltid att matcha. Om inget mönster matchas är returtillståndet noll. Annars är returstatus utgångsstatus för de körda kommandona.

Exempel på ärendena

Här är ett exempel med hjälp av ärendena i ett basskript som kommer att skriva ut det officiella språket i ett givet land:

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

Spara det anpassade skriptet som en fil och kör det från kommandoraden.

bash languages.sh

Skriptet kommer att be dig att komma in i ett land. Om du till exempel skriver "Litauen" kommer det att matcha det första mönstret och echo i den klausulen kommer att köras.

Skriptet kommer att skriva ut följande utgång:

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

Slutsats

Vid det här laget bör du ha en god förståelse för hur du skriver bashistoria. De används ofta för att skicka parametrar till ett skalskript från kommandoraden. Till exempel använder init-skripten ärenden för att starta, stoppa eller starta om tjänster.

bash terminal