Android

Bash-saken uttalelse

Bash vs Python для DevOps инженеров и системных администраторов

Bash vs Python для DevOps инженеров и системных администраторов

Innholdsfortegnelse:

Anonim

Bash case-uttalelser brukes vanligvis for å forenkle komplekse betingelser når du har flere forskjellige valg. Bruke sakserklæringen i stedet for å hekke om uttalelser vil hjelpe deg med å gjøre basskriptene dine mer leselige og enklere å vedlikeholde.

Uttalelsen fra Bash har et lignende konsept med uttalelsen Javascript eller C switch. Hovedforskjellen er at i motsetning til uttalelsen fra C-bryteren, fortsetter ikke Bash-saksetningen å søke etter en mønsterkamp når den har funnet en og utført utsagn knyttet til det mønsteret.

I denne opplæringen vil vi dekke det grunnleggende i uttalelsene fra Bash-saken og vise deg hvordan du bruker dem i skallskriptene dine.

Saksuttalelse syntaks

Uttalelsen fra Bash-saken har følgende form:

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

  • Hver saksuttalelse starter med saksnøkkelordet etterfulgt av saksuttrykk og nøkkelordet. Uttalelsen slutter med esac nøkkelordet. Du kan bruke flere mønstre atskilt med | operatør. Operatøren avslutter en mønsterliste. Et mønster kan ha spesialtegn. Et mønster og tilhørende kommandoer er kjent som en klausul. Hver klausul må avsluttes med ;; .Kommandoene som tilsvarer det første mønsteret som samsvarer med uttrykket, blir utført. Det er en vanlig praksis å bruke jokertegnens stjerne-symbol ( * ) som et endelig mønster for å definere standardsaken. Dette mønsteret vil alltid samsvare. Hvis ikke noe mønster samsvarer, er returstatusen null. Ellers er returstatusen utgangsstatus for de utførte kommandoene.

Saksklæring Eksempel

Her er et eksempel som bruker saksuttalelsen i et basskript som vil skrive ut det offisielle språket i et gitt 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

Lagre det tilpassede skriptet som en fil og kjør det fra kommandolinjen.

bash languages.sh

Manuset ber deg om å komme inn i et land. Hvis du for eksempel skriver "Litauen", vil den samsvare med det første mønsteret og echo kommandoen i den leddet vil bli utført.

Skriptet vil skrive ut følgende utdata:

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

Konklusjon

Nå bør du ha en god forståelse av hvordan du skriver bash case-uttalelser. De brukes ofte til å overføre parametere til et skallskript fra kommandolinjen. For eksempel bruker init-skriptene saksuttalelser for å starte, stoppe eller starte tjenester på nytt.

bash terminal