BASH Habang Mga Loop na Halimbawa

Bash While Loop Examples



Tatlong uri ng mga loop ang ginagamit sa bash program. Habang ang loop ay isa sa mga ito. Tulad ng ibang mga loop, habang ginagamit ang loop upang gawin ang mga paulit-ulit na gawain. Paano mo magagamit habang ang loop sa bash script ay ipinapakita sa artikulong ito sa pamamagitan ng paggamit ng iba't ibang mga halimbawa.

Syntax ng habang loop:

habang [kalagayan]
gawin
utos
tapos na

Ang pagsisimula at pagtatapos ng bloke ng habang ang loop ay tinukoy ng gawin at tapos na mga keyword sa bash script. Ang kondisyon ng pagwawakas ay tinukoy sa simula ng loop. Magbukas ng isang text editor upang magsulat ng bash script at subukan ang sumusunod habang mga halimbawa ng loop.







Halimbawa-1: Iterate ang loop para sa naayos na bilang ng mga beses

Lumikha ng isang bash file na pinangalanan habang1.sh na naglalaman ng sumusunod na iskrip.



n=1
habang [ $ n -ang 5 ]
gawin
itinapon 'Tumatakbo$ noras '
((n ++))
tapos na

Sa halimbawang ito, ang loop ay uulitin ng 5 beses at mai-print ang teksto na tinukoy sa loob ng loop. Lilitaw ang sumusunod na output kung tatakbo ka habang1.sh .







Halimbawa-2: Paggamit ng pahayag ng break para sa kondisyong paglabas

pahinga ginamit ang pahayag upang lumabas mula sa loop nang maaga batay sa isang partikular na kondisyon. Lumikha ng isang bagong bash file na pinangalanan habang2.sh kasama ang sumusunod na code.

n=1
habang [ $ n -ang 10 ]
gawin
kung [ $ n==6 ]
tapos
itinapon 'natapos na'
pahinga
maging
itinapon Posisyon:$ n'
((n ++))
tapos na

Sa halimbawang ito, ang loop ay ipinahayag na umulit sa loob ng 10 beses. Ayon sa script tatapusin ito pagkatapos ng 6 beses na pag-ulit para sa break statement. Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script.



Halimbawa-3: Paggamit ng pagpapatuloy na pahayag upang alisin ang partikular na hakbang

Lumikha ng isang bagong bash file na pinangalanan habang3.sh kasama ang sumusunod na code.

n=0
habang [ $ n -ang 5 ]
gawin
((n ++))

kung [ $ n==3 ]
tapos
magpatuloy
maging
itinapon Posisyon:$ n'

tapos na

Sa halimbawang ito, ang loop ay uulitin ng 5 beses ngunit hindi nito mai-print ang lahat ng 5 mga posisyon. Kapag ang loop ay umuulit para sa 3rdbeses pagkatapos ay ipagpatuloy ang pahayag ay naisakatuparan at ang loop ay pupunta para sa susunod na pag-ulit nang hindi nai-print ang teksto ng 3rdposisyon Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script.

Halimbawa-4: Lumilikha ng walang katapusang loop

Minsan, kinakailangan upang ideklara ang walang katapusang loop para sa iba't ibang mga layunin sa pagprograma. Lumikha ng isang bagong bash file na pinangalanan habang4.sh at subukan ang code ng infinite loop.

n=1
habang:
gawin
printf 'Ang kasalukuyang halaga ng n =$ n n'
kung [ $ n==3 ]
tapos
itinapon 'mabuti'
elif [ $ n==5 ]
tapos
itinapon 'masama'
elif [ $ n==7 ]
tapos
itinapon 'pangit'
elif [ $ n==10 ]
tapos
labasan 0
maging
((n ++))
tapos na

Walang itinakdang kondisyon sa pagwawakas para sa loop sa halimbawang ito. Ang ganitong uri ng loop ay tinatawag na infinite loop. Dito, ginagamit ang pahayag ng exit upang umalis mula sa walang katapusang loop. Kaya, ang loop na ito ay uulitin ng 10 beses at kapag ang halaga ng pag-ulit ay magiging katumbas ng 10 pagkatapos ang pahayag na exit ay papatayin para sa paglabas mula sa walang katapusang loop.