logo

Bash While Loop

Šajā tēmā mēs esam parādījuši, kā Bash skriptā izmantot while loop paziņojumu.

The bash kamēr cilpa var definēt kā vadības plūsmas paziņojumu, kas ļauj izpildīt doto komandu kopu atkārtoti, kamēr pielietotais nosacījums tiek novērtēts kā patiess. Piemēram, mēs varam vairākas reizes palaist echo komandu vai vienkārši lasīt teksta failu rindiņu pa rindiņai un apstrādāt rezultātu, izmantojot Bash cilpu while.

Bash While Loop sintakse

Bash while cilpai ir šāds formāts:

vesels skaitlis līdz virknei Java
 while [ expression ]; do commands; multiple commands; done 

Iepriekš minētā sintakse ir piemērojama tikai tad, ja izteiksmē ir viens nosacījums.

Ja izteiksmē ir jāiekļauj vairāki nosacījumi, kamēr cilpas sintakse būs šāda:

 while [ expressions ]; do commands; multiple commands; done 

Nors cilpas vienas līnijas sintaksi var definēt kā:

 while [ condition ]; do commands; done while control-command; do Commands; done 

Ir daži galvenie paziņojuma “while loop” punkti:

  • Pirms komandu izpildes tiek pārbaudīts stāvoklis.
  • Cilpa “while” arī spēj veikt visu darbu, kā to var veikt “cilpa”.
  • Komandas starp “do” un “done” tiek izpildītas atkārtoti, kamēr nosacījums tiek novērtēts kā patiess.
  • Argumenti cilpai “while” var būt Būla izteiksme.

Kā tas strādā

Cilpa while ir ierobežota ievades cilpa. Tas nozīmē, ka nosacījums tiek pārbaudīts pirms while cilpas komandu izpildes. Ja nosacījums tiek novērtēts kā patiess, tiek izpildīta komandu kopa, kas seko šim nosacījumam. Pretējā gadījumā cilpa tiek pārtraukta, un programmas vadība tiek piešķirta otrai komandai, kas seko priekšrakstam “pabeigts”.

Bash While Loop piemēri

Tālāk ir sniegti daži bash while cilpas piemēri:

Kamēr cilpa ar vienu nosacījumu

Šajā piemērā cilpa while tiek izmantota ar vienu nosacījumu izteiksmē. Tas ir cilpas while pamata piemērs, kas izdrukās skaitļu sērijas atbilstoši lietotāja ievadei:

Piemērs

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Izvade

Bash While Loop

Kamēr cilpa ar vairākiem nosacījumiem

Tālāk ir parādīts cilpas while piemērs ar vairākiem nosacījumiem izteiksmē:

Piemērs

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Izvade

objekts Java
Bash While Loop

Infinite While Loop

Bezgalīga cilpa ir cilpa, kurai nav beigu vai beigu. Ja nosacījums vienmēr tiek novērtēts kā patiess, tas rada bezgalīgu cilpu. Cilpa tiks izpildīta nepārtraukti, līdz tā tiek piespiedu kārtā apturēta, izmantojot CTRL+C:

Piemērs

 #!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done 

Mēs varam arī rakstīt iepriekš minēto skriptu vienā rindā kā:

 #!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done 

Izvade

Bash While Loop

Šeit mēs esam izmantojuši iebūvēto komandu (:), kas vienmēr atgriež patieso vērtību. Mēs varam arī izmantot iebūvēto komandu true, lai izveidotu bezgalīgu cilpu, kā norādīts tālāk:

Piemērs

 #!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done 

Šis bash skripts nodrošinās arī tādu pašu izvadi kā iepriekšminētais bezgalīgais skripts.

Piezīme. Bezgalīgas cilpas var pārtraukt, izmantojot taustiņu kombināciju CTRL+C vai pievienojot skriptam nosacījumu izeju.

Kamēr cilpa ar pārtraukuma paziņojumu

Pārtraukuma paziņojumu var izmantot, lai apturētu cilpu atbilstoši piemērotajam nosacījumam. Piemēram:

Piemērs

 #!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done 

Izvade

virknē java

Saskaņā ar skriptu cilpa ir piešķirta atkārtošanai desmit reizes. Bet pēc astoņām iterācijas reizēm ir nosacījums, kas pārtrauks iterāciju un pārtrauks cilpu. Pēc skripta izpildes tiks parādīta šāda izvade.

Bash While Loop

Kamēr cilpa ar paziņojumu turpināt

Paziņojumu turpināt var izmantot, lai izlaistu iterāciju konkrētam nosacījumam while cilpas ietvaros.

Piemērs

 #!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.' 

Izvade

Bash While Loop

Kamēr cilpa ar C Style

Mēs varam arī rakstīt while cilpu bash skriptā, kas ir tikpat līdzīga kā while cilpa C programmēšanas valodā.

Piemērs

 #!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>