Bash: kui, muul juhul, muud näited

Bash If Else If Else Examples

Bashi tingimuslaused on need, mis võimaldavad meil teatud tingimustel teatud meetmeid võtta. Need avaldused rakendavad koodiplokke, lähtudes sellest, kas programmeerija määratud tingimus hindab tõeseks või valeks. Kui see on tõene, käivitab konkreetse koodiploki, vastasel juhul liikuge järgmisele tingimusele.

Bashis on erinevat tüüpi tingimuslauseid:



  1. kui avaldus
  2. kui-muu avaldus
  3. kui..elif..muu avaldus
  4. Pesastatud

Selles artiklis õpime koos mõne näitega ühe tingimuslause, mis on if, elseif, else. Mitmes teises keeles on elif kirjutatud kui elseif või muidu, kui. Elifi avaldus aitab meil teha otsuseid erinevate valikute vahel.



If, elseif, else süntaks on:



kui <test_expression>;siis
<käsk-täita>
elif <test_expression>;siis
<käsk-täita>
muidu
<käsk-täita>
olla

Märksõnale if järgneb tingimus, mida soovite kontrollida. Selles tingimuslauses if-else-if hinnatakse avaldisi ülevalt alla.

  • Sellele järgneb siis märksõna.
  • Pärast seda, kui avaldis hinnatakse tõeseks, täidetakse vastavad avaldused. Kui avaldised hinnatakse valeks, täidetakse vastav avaldus elifi sees.
  • Kui ükski tingimus pole tõene, täidetakse muu blokeeritud avaldus.

Näide 1

Elifi (muidu kui) kasutatakse mitme tingimuse korral. Juhul, kui esimene tingimus läheb valeks, kontrollige teist tingimust. Järgmises näites võtame kasutajalt sisendi ja kuvame vastavad avaldused.

  • Kasutage tingimust if, et kontrollida, kas märgid on suuremad või võrdsed 80. Kui tingimus on tõene, prinditakse see suurepäraselt, kasutades seejärel käsku echo, seejärel blokeerige.
  • Kui esimese tingimuse väärtus on vale, kontrollib see seejärel elif -tingimust, kas märgid on suuremad või võrdsed 70 -ga, kui see vastab tõele, prindib see hea.
  • Kui ükski ülaltoodud tingimustest ei vasta tõele, liigub see teise tingimuse juurde ja prindib Rahuldav.
loe -lk 'Sisestage märgid:'märke
kui [ $ marka -anna 80 ]
siis
viskas välja 'Suurepärane'

elif [ $ marka -anna 60 ]
siis
viskas välja 'Hea'

muidu
viskas välja 'Rahuldav'
olla

Näide 2:

Näiteks tahame dokumenteerida teatud kursuse märgid. Hindeid kokku on 200, viktoriinid 100 ja ülesanded 100. Soovime kuvada ülesannete ja viktoriinide summa, tagades samas, et üldarv ei ületa 200.



  1. Sisestage: quiz_marks ja assignments_marks
  2. Kasutades if ja elif tingimusi, veenduge, et ükski kahest sisendist ei ületaks igaühe maksimaalset võimalikku märki, st 100.
  3. Kui kumbki sisendviktoriinidest või ülesannete_markidest ületab 100, kuvage hoiatusteade, kasutades käsku echo.
  • Palun kontrollige viktoriini sisendmärke
  • Palun kontrollige ülesannete sisendmärke
  1. Kui ükski ülaltoodud tingimustest ei sobi, st kumbki märkidest ei ületa 100, liikuge teise tingimuse juurde ja kuvage märkide summa, kasutades käsku echo.
#!/bin/bash
loe -lk 'Sisestage teooriamärgid:'viktoriinimärgid
loe -lk 'Sisestage praktilised märgid:'assignments_marks
kui (($ quiz_marks > viiskümmend));
siis
viskas välja 'Palun kontrollige viktoriini sisendmärke.'
elif (($ assignments_marks > viiskümmend));
siis
viskas välja 'Palun kontrollige ülesannete sisendmärke.'
muidu
viskas välja 'Teie hinded kokku: summa =$ ((quiz_marks + assignments_marks)) '
olla

Näide 3:

Võtame veel ühe näite pangakonto programmist, milles soovime kolme erineva olukorra jaoks kolme eraldi väljundit:

  • Saldo on väiksem kui null
  • Saldo on null
  • Saldo on üle nulli

Näiteks kasutage järgmises programmis if, elif, else avaldusi, et kuvada erinevaid väljundeid erinevates stsenaariumides:

  1. Kasutage tingimust if, et kontrollida, kas saldo on väiksem kui null. Kui see tingimus osutub tõeseks, kuvage teade, kasutades käsku echo: Saldo on väiksem kui null. Palun lisage rohkem raha, muidu võetakse teilt trahvi.
  2. Kui ülaltoodud tingimus ei sobi, kasutage elif -tingimust, et kontrollida, kas saldo on null. Kui see on tõene, kuvage teade: Saldo on null, lisage raha
  3. Kui ükski ülaltoodud tingimustest ei sobi, kasutage tingimust else, et kuvada: Teie saldo on üle nulli.
#!/bin/bash
Tasakaal=900
kui ((Tasakaal< 0));siis
viskas välja 'Saldo on väiksem kui null, palun lisage rohkem raha, muidu võetakse teilt trahvi'
elif ((Saldo ==0));siis
viskas välja 'Saldo on null, palun lisage raha'
muidu
viskas välja 'Teie saldo on üle nulli.'
olla

Ülaltoodud näiteid tingimuslausest, kui, elif, muidu, peaksite nüüd aru saama, kuidas see tingimuslause töötab ja kus seda saab erinevates stsenaariumides kasutada. Loodan, et teile meeldis artikkel.