Bash -tapauslausuman käyttäminen

How Use Bash Case Statement



Bash-tapauslausumat ovat samanlaisia ​​kuin if-else-lausunnot, mutta ovat helpompia ja yksinkertaisempia. Se auttaa yhdistämään yhden muuttujan useisiin arvoihin. Sitä käytetään, kun tarvitset IF-else-lauseita, joissa on useita Elif-lauseita ... Se on melko samanlainen kuin C-lausekkeen vaihtaminen, mutta bash-tapauslauseke ei siirry eteenpäin, kun malli on sovitettu

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:
tapaus $ muuttuja sisään
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.sh

Suorita 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 -snocasematch

heitti 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/bash
kauppoja -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.