Bash: Kung, Iba Kung, Iba Pang Mga Halimbawa

Bash If Else If Else Examples



Ang mga kondisyon na pahayag ng Bash ay ang mga nagpapahintulot sa amin na gumawa ng ilang aksyon patungo sa iba't ibang mga kundisyon. Ang mga pahayag na ito ay nagpapatupad ng mga bloke ng code, batay sa kung ang kondisyong tinukoy ng programmer ay sinusuri sa totoo o mali. Kung susuriin ito sa totoo, isinasagawa ang isang tukoy na bloke ng code kung hindi man lumipat sa susunod na kundisyon.

Mayroong iba't ibang mga uri ng mga kondisyong pahayag sa Bash:







  1. kung pahayag
  2. kung-ibang pahayag
  3. kung..elif..else statement
  4. Pugad

Sa artikulong ito, matututunan natin ang isa sa mga kondisyong pahayag na kung, kung hindi man, iba kasama ang ilang mga halimbawa. Sa maraming iba pang mga wika, ang elif ay nakasulat bilang ibang kung iba o kung. Ang elif na pahayag ay tumutulong sa amin upang gumawa ng mga desisyon sa iba't ibang mga pagpipilian.



Ang syntax ng kung, kung hindi man, iba pa ay:



kung <test_expression>;tapos
<utos-upang magpatupad>
elif <test_expression>;tapos
<utos-upang magpatupad>
iba pa
<utos-upang magpatupad>
maging

Ang keyword na if ’ay sinusundan ng kundisyong nais mong suriin. Sa if-else-kung kondisyon na pahayag na ito, ang mga expression ay sinusuri mula sa itaas hanggang sa ibaba.





  • Sinusundan ito ng tapos keyword.
  • Pagkatapos nito, kung ang isang expression ay sinusuri sa totoo, ang mga kaukulang pahayag ay naisasagawa. Kung ang mga expression ay sinusuri sa maling, ang kaukulang pahayag sa loob ng elif ay papatayin.
  • Kung wala sa mga kundisyon na totoo, ang pahayag sa loob ng iba pang na-block ay naisakatuparan.

Halimbawa 1

Ang elif (kung iba pa) ay ginagamit para sa maraming kung kundisyon. Sa kaso kung ang unang kundisyon ay nagkamali pagkatapos suriin ang isa pa kung kundisyon. Sa sumusunod na halimbawa, kumukuha kami ng input mula sa gumagamit at nagpapakita ng kaukulang mga pahayag.

  • Gumamit kung kundisyon upang suriin kung ang mga marka ay mas malaki o katumbas ng 80. Kung ang kondisyon ay sinusuri sa totoo, ito ay mag-print Mahusay gamit ang utos ng echo sa ilalim ng pagkatapos ay i-block.
  • Kung ang unang kundisyon ay susuriin sa mali, gagamitin nito ang kundisyon ng elif upang suriin kung ang mga marka ay mas malaki o katumbas ng 70, kung susuriin ito ng totoo, mai-print nito ang Mabuti.
  • Kung wala sa mga kundisyon sa itaas na sinusuri ang totoo, lilipat ito sa ibang kondisyon at i-print ang Kasiya-siya.
basahin -p 'Ipasok ang mga marka:'marka
kung [ $ marka -give 80 ]
tapos
itinapon 'Magaling'

elif [ $ marka -give 60 ]
tapos
itinapon 'Mabuti'

iba pa
itinapon 'Kasiya-siya'
maging

Halimbawa 2:

Halimbawa, nais naming idokumento ang mga marka para sa isang tiyak na kurso. Ang kabuuang marka ay 200 na may 100 marka para sa Mga Pagsusulit at 100 para sa mga takdang-aralin. Nais naming ipakita ang kabuuan ng mga takdang aralin at pagsusulit habang tinitiyak na ang pangkalahatang bilang ay hindi lalampas sa 200.



  1. Dalhin ang input: mga quiz_mark at assignment_mark
  2. Siguraduhin na wala sa dalawang mga input ang lumampas sa maximum na posibleng mga marka para sa bawat isa sa kanila hal. 100 sa pamamagitan ng paggamit ng mga kondisyon ng if at elif.
  3. Kung ang alinman sa mga input quiz_mark o assignment_mark ay lumampas sa 100, magpakita ng isang babalang mensahe sa pamamagitan ng paggamit ng echo command.
  • Mangyaring suriin ang mga input mark para sa pagsusulit
  • Mangyaring suriin ang mga input mark para sa mga takdang aralin
  1. Kung wala sa mga kondisyon sa itaas na tumutugma, ibig sabihin, alinman sa mga marka ay lumampas sa 100, lumipat sa ibang kondisyon at ipakita ang kabuuan ng mga marka sa pamamagitan ng paggamit ng utos ng echo.
#! / baseng / bash
basahin -p 'Ipasok ang mga marka ng teorya:'mga quiz_mark
basahin -p 'Ipasok ang mga praktikal na marka:'mga assignment_mark
kung (($ quiz_marks > limampu));
tapos
itinapon 'Mangyaring suriin ang mga marka ng pag-input para sa pagsusulit.'
elif (($ assignment_marks > limampu));
tapos
itinapon 'Mangyaring suriin ang mga marka ng pag-input para sa mga takdang aralin.'
iba pa
itinapon 'Ang iyong kabuuang marka: kabuuan =$ ((mga quiz_mark + assignment_mark)) '
maging

Halimbawa 3:

Kumuha tayo ng isa pang halimbawa ng isang programa sa bank account kung saan nais naming magkaroon ng tatlong magkakahiwalay na output para sa 3 magkakaibang sitwasyon:

  • Ang balanse ay mas mababa sa zero
  • Ang balanse ay zero
  • Ang balanse ay nasa itaas ng zero

Halimbawa, sa sumusunod na programa, gamitin ang mga pahayag na kung, elif, iba pa upang maipakita ang iba't ibang mga output sa iba't ibang mga sitwasyon:

  1. Gamitin kung kundisyon upang suriin kung ang balanse ay mas mababa sa zero. Kung ang kundisyong ito ay sinusuri sa totoo, ipakita ang mensahe gamit ang utos ng echo: Ang balanse ay mas mababa sa zero, Mangyaring magdagdag ng higit pang mga pondo kung hindi ka sisingilin ng parusa.
  2. Kung ang kundisyon sa itaas ay hindi tumutugma, pagkatapos ay gumamit ng kondisyong elif upang suriin kung ang balanse ay katumbas ng zero. Kung susuriin ito sa totoo, ipakita ang mensahe: Ang balanse ay zero, mangyaring magdagdag ng mga pondo
  3. Kung wala sa kundisyon sa itaas na tumutugma, gamitin ang iba pang kundisyon upang maipakita ang: Ang iyong balanse ay nasa itaas ng zero.
#! / baseng / bash
Balanse=900
kung ((Balanse< 0));tapos
itinapon 'Ang balanse ay mas mababa sa zero, Mangyaring magdagdag ng higit pang mga pondo kung hindi ka sisingilin ng parusa'
elif ((Balanse ==0));tapos
itinapon 'Ang balanse ay zero, mangyaring magdagdag ng mga pondo'
iba pa
itinapon 'Ang iyong balanse ay nasa itaas ng zero.'
maging

Mula sa mga halimbawa sa itaas ng kondisyong pahayag kung, elif, kung hindi man, dapat mong maunawaan ngayon kung paano gumagana ang kondisyong ito ng pahayag at kung saan maaari itong magamit sa iba't ibang mga sitwasyon. Sana nagustuhan mo ang artikulo.