Tässä artikkelissa selitämme, miten Bash -tapauslausuntoa käytetään esimerkin kanssa Linux -käyttöjärjestelmässä.
Bash -tapauslausuman syntaksi
Tässä on bash case -lausekkeen syntaksi:
Syntaksi:
tapaus $ muuttuja sisään
kuvio-1)
komentoja
;;
kuvio-2)
komentoja
;;
kuvio-3)
komentoja
;;
kuvio-N)
komentoja
;;
*)
komentoja
;;
esac
- Tapauslauseke alkaa kirjaimella ja päättyy esac -kirjaimeen
- ) Käytetään kuvion lopettamiseen. Jos haluat erottaa useita kuvioita, | operaattoria käytetään alla olevan kuvan mukaisesti:
kuvio-1|kuvio-2)
komentoja
....
....
;;
kuvio-3|kuvio-4)
komentoja
....
....
;;
- Komentoja sisältävä malli tunnetaan lauseena ja jokainen lause päättyy (;;).
- Tähdesymbolia* voidaan käyttää oletuskokoasetuksen määrittämiseen.
- Bash -tapauslauseke vastaa ensin tulon $ muuttujaa eri malleilla. Jos kuvio on sovitettu, suoritetaan vastaava komentojoukko kaksoispisteisiin (;;) asti.
Esimerkki 1:
Seuraava esimerkki koskee bash -tiliotetta, jossa se pyytää käyttäjää syöttämään kuukauden nimen. Jos tämä tulo vastaa komentosarjassa määriteltyjä malleja, suoritetaan vastaava echo -komento. Echo -komento näyttää tietoja kyseisen kuukauden kansainvälisestä tapahtumasta.
Voit käyttää tätä komentosarjaa luomalla yksinkertaisen tekstitiedoston; nimeä se .sh tiedostopääte. Lisää siihen seuraava skripti ja tallenna se. Määritä sitten tämä tiedosto suorittamaan käyttöoikeudet suorittamalla seuraava komento terminaalissa:
$sudo chmod 777tiedostonimi.shSuorita tämä bash -tiedosto suorittamalla ./ ja sen jälkeen bash -tiedoston nimi seuraavasti:
$./tiedostonimi.sh
Kun suoritat komentosarjan, sinua pyydetään syöttämään kuukauden nimi. Jos kuukauden nimi täsmää, se näyttää kyseisen kuukauden tapahtuman, muuten vastaavia tietoja ei näytetä.
Huomaa, että shopt -s nocasematchia käytetään kuvion vastaamiseen sen tapauksesta riippumatta.
kauppoja -snocasematchheitti pois 'Anna kuukauden nimi'
lukeakuukausi
tapaus $ kuukausi sisään
tammikuu)
heitti pois '24. tammikuuta kansainvälinen koulutuspäivä.'
;;
helmikuu)
heitti pois '' 20. helmikuuta Maailman sosiaalisen oikeudenmukaisuuden päivä. ''
;;
Maaliskuuta)
heitti pois '8. maaliskuuta Kansainvälinen naistenpäivä.'
;;
huhtikuu)
heitti pois 'Maailman terveyspäivä 7. huhtikuuta'
;;
saattaa)
heitti pois Kansainvälinen perheiden päivä 15. toukokuuta
;;
Kesäkuuta)
heitti pois Maailman pakolaispäivä 20. kesäkuuta
;;
heinäkuu)
heitti pois 'Maailman väestöpäivä 11. heinäkuuta'
;;
*)
heitti pois 'Vastaavia tietoja ei löytynyt'
;;
esac
Esimerkki 2:
Seuraava esimerkki koskee bash -tiliotetta, johon käyttäjää pyydetään syöttämään maan nimi. Jos tämä tulo vastaa komentosarjassa määriteltyjä malleja, suoritetaan vastaava echo -komento. Echo -komento näyttää tietoja kyseisen maan pääkaupungista.
Voit käyttää tätä komentosarjaa noudattamalla samaa tapaa, joka on kuvattu yllä olevassa esimerkissä. Kun olet valmis, suorita komentosarja ja sinua pyydetään syöttämään maan nimi. Jos maan nimi vastaa ennalta määritettyjä maan nimiä, se näyttää kyseisen maan pääkaupungin nimen. Muussa tapauksessa viesti Tietoja ei saatavilla.
#!/bin/bashkauppoja -snocasematch
heitti pois -n 'Kirjoita maan nimi:'
lukeamaa
heitti pois -n 'Pääkaupunki$ maaOn '
tapaus $ maa sisään
Pakistan)
heitti pois -n 'Islamabad'
;;
Fidži)
heitti pois -n 'Kuiva'
;;
Iso -Britannia| 'Yhdistynyt kuningaskunta')
heitti pois -n 'Lontoo'
;;
Turkki)
heitti pois -n 'Ankara'
;;
KÄYTTÖ)
heitti pois -n 'Washington DC'
;;
*)
heitti pois -n '' Tietoja ei saatavilla ''
;;
esac
heitti pois ''
Bash-tapauslausunnot helpottavat bash-komentosarjan lukemista ja ymmärtämistä. Tässä artikkelissa olemme käsitelleet, kuinka kirjoittaa ja käyttää bash -tapauslausekkeita. Nyt voit kirjoittaa monitasoisen if-else -lausekkeen helposti ja yksinkertaisesti käyttämällä tapauslausekkeita.