Indholdsfortegnelse:
Bash case-udsagn bruges generelt til at forenkle komplekse betingelser, når du har flere forskellige valg. Brug af sagsangivelsen i stedet for indlejret, hvis udsagn vil hjælpe dig med at gøre dine bash-scripts mere læsbare og lettere at vedligeholde.
Udsagnet fra Bash-sagen har et lignende koncept med Javascript- eller C-switch-erklæringen. Den største forskel er, at i modsætning til C-switch-erklæringen, fortsætter Bash-sagsudtalelsen ikke med at søge efter et mønster-match, når den først har fundet en og udført udsagn, der er knyttet til det mønster.
I denne tutorial vil vi dække det grundlæggende i Bash-sagangivelserne og vise dig, hvordan du bruger dem i dine shell-scripts.
Sagserklæring Syntax
Uttalelsen fra Bash-sagen har følgende form:
case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac
- Hver sagsangivelse starter med sagsnøgleordet efterfulgt af sagsudtrykket og
in
nøgleordet. Uddannelsen slutter medesac
nøgleordet. Du kan bruge flere mønstre adskilt af|
operatør. Operatøren afslutter en mønsterliste. Et mønster kan have specialtegn. Et mønster og dets tilknyttede kommandoer er kendt som en klausul. Hver klausul skal afsluttes med;;
.Kommandoerne, der svarer til det første mønster, der matcher udtrykket, udføres. Det er en almindelig praksis at bruge jokertegnets asterisk-symbol (*
) som et sidste mønster til at definere standardtilfældet. Dette mønster matcher altid. Hvis der ikke matches noget mønster, er returstatus nul. Ellers er returstatus exit-status for de udførte kommandoer.
Eksempel på sagopgørelse
Her er et eksempel, der bruger sagsangivelsen i et bash-script, der udskriver det officielle sprog i et 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
Gem det tilpassede script som en fil, og kør det fra kommandolinjen.
bash languages.sh
Scriptet beder dig om at komme ind i et land. For eksempel, hvis du skriver "Litauen", vil det matche det første mønster, og
echo
kommandoen i denne klausul udføres.
Scriptet udskriver følgende output:
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
Konklusion
I øjeblikket skal du have en god forståelse af, hvordan du skriver bash case-udsagn. De bruges ofte til at videregive parametre til et shell-script fra kommandolinjen. For eksempel bruger init-scripts sagsangivelser til start, stop eller genstart af tjenester.
Amerikanske dommerregler for EBay i falsk sag

En amerikansk dommer bestemmer, at eBay ikke er juridisk ansvarlig for salg af forfalskede Tiffany smykker på sit websted.
Soloway-sag afslører stor forretning bag spam

Vidnesbyrd under dommedagshørelsen for den såkaldte spam-konge tilbød et indvendigt kig på den store forretning af spam.
RegRun Reanimator analyserer malware og fjerner det fra sag til sag

RegRun Reanimator er et anti-malware værktøj, der analyserer din Windows-computer. Den bedste del er, at det kun fjerner malware-sag efter sag efter grundig analyse.