Ehdolliset lausumat | Shell Script
Ehdolliset lausunnot: On yhteensä 5 ehdollista lauseketta, joita voidaan käyttää bash-ohjelmoinnissa
- jos lausunto
- jos-muu lausunto
- if..elif..else..fi lauseke (Else If tikkaat)
- jos..niin..muuta..jos..niin..fi..fi..(Sisätetty jos)
- vaihtaa lausunto
Niiden kuvaus syntaksin kanssa on seuraava:
jos lausunto
Tämä lohko käsitellään, jos määritetty ehto on tosi.
Syntaksi:
if [ expression ] then statement fi
jos-muu lausunto
Jos määritetty ehto ei ole tosi if-osassa, muu osa suoritetaan.
Syntaksi
if [ expression ] then statement1 else statement2 fi
if..elif..else..fi lauseke (Else If tikkaat)
Jos haluat käyttää useita ehtoja yhdessä if-else-lohkossa, elif-avainsanaa käytetään shellissä. Jos lauseke1 on tosi, se suorittaa käskyt 1 ja 2, ja tämä prosessi jatkuu. Jos mikään ehdoista ei ole totta, se käsittelee muun osan.
Syntaksi
if [ expression1 ] then statement1 statement2 . . elif [ expression2 ] then statement3 statement4 . . else statement5 fi
jos..niin..muuta..jos..niin..fi..fi..(Sisätetty jos)
Sisäkkäistä if-else-lohkoa voidaan käyttää, kun yksi ehto täyttyy ja se tarkistaa toisen ehdon uudelleen. Syntaksissa, jos lauseke1 on epätosi, se käsittelee muun osan, ja taas lauseke2 tarkistetaan.
Syntaksi:
if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi
vaihtaa lausunto
case-lause toimii kytkinlauseena, jos määritetty arvo täsmää kuvion kanssa, se suorittaa kyseisen mallin lohkon
Kun vastaavuus löytyy, kaikki liittyvät lauseet, kunnes kaksoispuolipiste (;;) suoritetaan.
Tapaus lopetetaan, kun viimeinen komento suoritetaan.
Jos vastaavuutta ei löydy, tapauksen poistumistila on nolla.
Syntaksi:
case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac
Esimerkkiohjelmat
Esimerkki 1:
Toteutus if> lausunto
#Initializing two variables> a=10> b=20> > #Check whether they are equal> if> [> $a> ==> $b> ]> then> > echo> 'a is equal to b'> fi> > #Check whether they are not equal> if> [> $a> !=> $b> ]> then> > echo> 'a is not equal to b'> fi> |
Lähtö
$bash -f main.sh a is not equal to b
Esimerkki 2:
Toteutus if.else> lausunto
#Initializing two variables> a=20> b=20> > if> [> $a> ==> $b> ]> then> > #If they are equal then> print> this> > echo> 'a is equal to b'> else> > #> else> print> this> > echo> 'a is not equal to b'> fi> |
Lähtö
$bash -f main.sh a is equal to b
Esimerkki 3:
Toteutus switch> lausunto
CARS=> 'bmw'> > #Pass the variable in string> case> '$CARS'> in> > #> case> 1> > 'mercedes'> )> echo> 'Headquarters - Affalterbach, Germany'> ;;> > > #> case> 2> > 'audi'> )> echo> 'Headquarters - Ingolstadt, Germany'> ;;> > > #> case> 3> > 'bmw'> )> echo> 'Headquarters - Chennai, Tamil Nadu, India'> ;;> esac> |
Lähtö
$bash -f main.sh Headquarters - Chennai, Tamil Nadu, India.
Huomautus: Shell-skripti on isot ja pienet kirjaimet huomioiva kieli, mikä tarkoittaa, että skriptejä kirjoitettaessa on noudatettava oikeaa syntaksia.