Android

Bash-tapaus

Sisällysluettelo:

Anonim

Bash-tapauksia käytetään yleensä yksinkertaistamaan monimutkaisia ​​ehtoja, kun sinulla on useita erilaisia ​​vaihtoehtoja. Case-lauseen käyttäminen sisäkkäisten sijaan, jos lauseet auttavat sinua parantamaan bash-skriptejäsi helpommin luettavissa ja helpommin ylläpidettävissä.

Bash-tapauslausunto on samanlainen käsite kuin Javascript- tai C-kytkinlausunto. Suurin ero on, että toisin kuin C-kytkinlauseke, Bash-tapauslausunto ei jatka mallihaun etsimistä, kun se on löytänyt yhden ja suoritetut lauseet, jotka liittyvät kyseiseen malliin.

Tässä opetusohjelmassa kerromme Bash-tapauksen lausuntojen perusteista ja osoitamme, kuinka niitä käytetään kuoriskripteissäsi.

Tapauslausuman syntaksi

Bash-tapauksen lausunto on seuraavassa muodossa:

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

  • Jokainen tapauslausunto alkaa tapaushakusanalla, jota seuraa tapauslauseke ja avainsanalla. Lause päättyy esac käyttää useita kuvioita, jotka erotetaan | operaattori. ) Operaattori lopettaa malliluettelon. Kuviossa voi olla erikoismerkkejä.Kuvio ja siihen liittyvät komennot tunnetaan lauseena.Jokainen lauseke on lopetettava ;; .Toimintoa vastaavat ensimmäistä lauseketta vastaavat komennot.On yleinen käytäntö käyttää jokerimerkkien tähdellä ( * ) lopullisena kuviona oletustapausten määrittämistä. Tämä kuvio vastaa aina.Jos kukaan ei vastaa, palautustila on nolla. Muutoin paluutila on suoritettujen komentojen poistotila.

Esimerkki tapauslausunnosta

Tässä on esimerkki, jossa käytetään tapauslausetta bash-skriptissä, joka tulostaa tietyn maan virallisen kielen:

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

Tallenna mukautettu komentosarja tiedostona ja aja se komentoriviltä.

bash languages.sh

Ohjelma pyytää sinua antamaan maan. Esimerkiksi, jos kirjoitat ”Liettua”, se vastaa ensimmäistä mallia ja echo komento kyseisessä lauseessa suoritetaan.

Skripti tulostaa seuraavan tulosteen:

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

johtopäätös

Tähän mennessä sinulla pitäisi olla hyvä ymmärrys siitä, kuinka kirjoittaa bash-tapauslausuntoja. Niitä käytetään usein parametrien siirtämiseen komentosarjan komentosarjasta. Esimerkiksi init-skriptit käyttävät tapauslausuntoja palveluiden käynnistämiseen, lopettamiseen tai uudelleenkäynnistykseen.

bash-terminaali