Bashissa on erilaisia ehdollisia lausuntoja:
- jos lausunto
- jos-muu lausunto
- jos..elif..muu lausunto
- Sisäkkäin
Tässä artikkelissa opimme yhden ehdollisista lausunnoista, jotka ovat if, elseif, else ja muutamia esimerkkejä. Useilla muilla kielillä elif on kirjoitettu nimellä elseif tai muuten jos. Elif -lausunto auttaa meitä tekemään päätöksiä eri valintojen joukosta.
If, elseif, else syntaksi on:
jos <test_expression>;sitten
<komento suoritettavaksi>
elif <test_expression>;sitten
<komento suoritettavaksi>
muu
<komento suoritettavaksi>
olla
Jos -avainsanaa seuraa ehto, jonka haluat tarkistaa. Tässä if-else-if-ehdollisessa lausekkeessa lausekkeet arvioidaan ylhäältä alas.
- Tätä seuraa sitten avainsana.
- Sen jälkeen, jos lauseke arvioidaan tosiksi, suoritetaan vastaavat lausumat. Jos lausekkeet arvioidaan vääräksi, vastaava lause elifin sisällä suoritetaan.
- Jos mikään ehdoista ei ole totta, muu estetty sisällä oleva lausunto suoritetaan.
Esimerkki 1
Elifiä (muuten jos) käytetään useissa olosuhteissa. Jos ensimmäinen ehto menee vääräksi, tarkista toinen ehto. Seuraavassa esimerkissä otamme syötteen käyttäjältä ja näytämme vastaavat lausunnot.
- Käytä if -ehtoa tarkistaaksesi, ovatko merkit suurempia tai yhtä suuria kuin 80. Jos ehto on tosi, se tulostaa Erinomainen käyttämällä sitten echo -komentoa.
- Jos ensimmäinen ehto on epätosi, se tarkistaa sitten elif -ehdon avulla, ovatko merkit suurempia tai yhtä suuria kuin 70, ja jos tulos on tosi, tulostetaan hyvä.
- Jos mikään yllä olevista ehdoista ei ole tosi, se siirtyy muuhun ehtoon ja tulostaa tyydyttävän.
jos [ $ markkaa -antaa 80 ]
sitten
heitti pois 'Erinomainen'
elif [ $ markkaa -antaa 60 ]
sitten
heitti pois 'Hyvä'
muu
heitti pois 'Tyydyttävä'
olla
Esimerkki 2:
Haluamme esimerkiksi dokumentoida tietyn kurssin arvosanat. Pisteitä on yhteensä 200 ja 100 pistettä tietokilpailuista ja 100 tehtävistä. Haluamme näyttää tehtävien ja tietokilpailujen summan varmistaen, että kokonaismäärä ei ylitä 200: aa.
- Käytä syötettä: quiz_marks ja assignments_marks
- Varmista, että yksikään kahdesta tulosta ei ylitä kummankin tulon enimmäismääriä eli 100 käyttämällä if- ja elif -ehtoja.
- Jos jompikumpi syötteistä quiz_marks tai assignments_marks ylittää 100, näytä varoitusviesti echo -komennolla.
- Tarkista tietokilpailun syöttömerkit
- Tarkista tehtävien syöttömerkit
- Jos mikään yllä olevista ehdoista ei vastaa, eli kumpikaan merkistä ei ylitä 100, siirry muuhun ehtoon ja näytä merkkien summa käyttämällä echo -komentoa.
lukea -p 'Syötä teoriamerkit:'tietokilpailut
lukea -p 'Kirjoita käytännön merkit:'assignments_marks
jos (($ quiz_marks > viisikymmentä));
sitten
heitti pois 'Tarkista tietokilpailun syöttömerkit.'
elif (($ assignments_marks > viisikymmentä));
sitten
heitti pois 'Tarkista tehtävien syöttömerkit.'
muu
heitti pois 'Pisteesi yhteensä: summa =$ ((quiz_marks + assignments_marks)) ''
olla
Esimerkki 3:
Otetaan toinen esimerkki pankkitiliohjelmasta, jossa haluamme saada kolme erillistä lähtöä kolmelle eri tilanteelle:
- Saldo on alle nolla
- Tasapaino on nolla
- Saldo on nollan yläpuolella
Esimerkiksi seuraavassa ohjelmassa käytä if, elif, else -lausekkeita näyttääksesi eri lähdöt eri tilanteissa:
- Käytä if -ehtoa tarkistaaksesi, onko vaaka alle nolla. Jos tämä ehto arvioidaan oikeaksi, näytä viesti echo -komennolla: Saldo on alle nolla, lisää varoja, muuten sinulta veloitetaan sakko.
- Jos yllä oleva ehto ei täsmää, tarkista elif -ehdolla, onko vaaka nolla. Jos tulos on tosi, näytä viesti: Saldo on nolla, lisää varoja
- Jos mikään yllä olevista ehdoista ei täsmää, käytä muuta ehtoa näyttääksesi: Saldosi on yli nollan.
Saldo=900
jos ((Saldo< 0));sitten
heitti pois 'Saldo on alle nolla, lisää varoja, muuten sinulta veloitetaan sakko'
elif ((Saldo ==0));sitten
heitti pois 'Saldo on nolla, lisää varoja'
muu
heitti pois 'Saldosi on yli nollan.'
olla
Yllä olevista esimerkeistä ehdollisesta lausunnosta if, elif, else, sinun pitäisi nyt pystyä ymmärtämään, miten tämä ehdollinen lauseke toimii ja missä sitä voidaan käyttää eri tilanteissa. Toivottavasti pidit artikkelista.