Introduction to Bash Scripting 13 - The Case Statement
Innehållsförteckning:
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
casenyckelord följt av ärende uttryck ochinnyckelord. Uttalandet slutar medesacesac.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.
Baserat på marknadsvillkoren och efter att ha avslutat sin due diligence-process beslutade Blockbuster att förvärvet inte var i företagets bästa intresse, säger Jim Keyes, Blockbusters VD och ordförande i ett uttalande om Tisdag.
I februari erbjöd Blockbuster så mycket som 1,33 miljarder US-dollar för Circuit City, med priset beroende på en granskning av sina poster. Erbjudandet verkar ha varit omstridt från början. Filmuthyrningsföretaget sa att det först gjorde erbjudandet direkt till Circuit Citys VD men fick inte granska bolagets böcker för att fastställa ett fast anbudspris. Det gjorde erbjudandet offentligt i hopp om att aktieägarna skulle kunna pressa företaget att förhandla fram en överenskommelse.
RegRun Reanimator analyserar skadlig kod och tar bort det från fall till fall
RegRun Reanimator är ett anti-malware verktyg som analyserar din Windows-dator. Det bästa är att det tar bort skadlig varning från fall till fall först efter noggrann analys.
Bash if..else uttalande
Beslutsfattande är ett av de mest grundläggande begreppen inom datorprogrammering. Liksom på något annat programmeringsspråk, om, om..else, om..elif..else och kapslade om uttalanden i Bash kan användas för att köra kod baserat på ett visst villkor.







