logo

Bash While Loop

Tässä aiheessa olemme osoittaneet, kuinka while-silmukkalauseketta käytetään Bash Scriptissä.

The bash while -silmukka voidaan määritellä ohjausvuon käskyksi, joka sallii annetun komentojoukon suorittamisen toistuvasti niin kauan kuin sovelletun ehdon arvo on tosi. Voimme esimerkiksi suorittaa echo-komennon useita kertoja tai vain lukea tekstitiedostoa rivi riviltä ja käsitellä tulosta käyttämällä while-silmukkaa Bashissa.

Bash While Loopin syntaksi

Bash while -silmukalla on seuraava muoto:

c#
 while [ expression ]; do commands; multiple commands; done 

Yllä oleva syntaksi on sovellettavissa vain, jos lauseke sisältää yhden ehdon.

Jos lausekkeeseen on sisällytettävä useita ehtoja, while-silmukan syntaksi on seuraava:

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

While-silmukan yksilinjainen syntaksi voidaan määritellä seuraavasti:

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

'While loop' -lauseessa on joitain avainkohtia:

  • Ehto tarkistetaan ennen komentojen suorittamista.
  • 'While'-silmukka pystyy myös suorittamaan kaiken työn, kuten 'silmukka' voi tehdä.
  • Komennot 'do' ja 'done' välillä suoritetaan toistuvasti, kunhan ehdon arvo on tosi.
  • 'while'-silmukan argumentit voivat olla boolen lauseke.

Kuinka se toimii

While-silmukka on rajoitettu sisääntulosilmukka. Se tarkoittaa, että ehto tarkistetaan ennen while-silmukan komentojen suorittamista. Jos ehdon arvo on tosi, tätä ehtoa seuraavat komennot suoritetaan. Muussa tapauksessa silmukka päätetään ja ohjelman ohjaus annetaan toiselle komennolle, joka seuraa 'done'-käskyä.

Bash While Loop -esimerkkejä

Seuraavassa on joitain esimerkkejä bash while -silmukasta:

Vaikka silmukka yhden ehdon kanssa

Tässä esimerkissä while-silmukkaa käytetään lausekkeessa yhden ehdon kanssa. Se on perusesimerkki while-silmukasta, joka tulostaa numerosarjan käyttäjän syötteen mukaan:

Esimerkki

 #!/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.' 

Lähtö

Bash While Loop

Vaikka silmukka useilla ehdoilla

Seuraavassa on esimerkki while-silmukasta, jossa lausekkeessa on useita ehtoja:

Esimerkki

 #!/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.' 

Lähtö

yksinkertainen java ohjelma
Bash While Loop

Infinite While Loop

Ääretön silmukka on silmukka, jolla ei ole loppua tai päätettä. Jos ehto on aina tosi, se luo äärettömän silmukan. Silmukka suoritetaan jatkuvasti, kunnes se pysäytetään väkisin käyttämällä CTRL+C:tä:

Esimerkki

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

Voimme myös kirjoittaa yllä olevan skriptin yhdelle riville seuraavasti:

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

Lähtö

Bash While Loop

Tässä olemme käyttäneet sisäänrakennettua komentoa (:), joka palauttaa aina tosi. Voimme myös käyttää sisäänrakennettua komentoa true luodaksesi äärettömän silmukan, kuten alla:

Esimerkki

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

Tämä bash-skripti tarjoaa myös saman tulosteen kuin yllä oleva ääretön skripti.

Huomautus: Äärettömät silmukat voidaan lopettaa painamalla CTRL+C tai lisäämällä skriptiin ehdollinen lopetus.

Vaikka silmukka tauolla

Break-lausetta voidaan käyttää silmukan pysäyttämiseen sovelletun ehdon mukaisesti. Esimerkiksi:

Esimerkki

 #!/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 

Lähtö

konekirjoituspäivämäärä

Skriptin mukaan silmukka on määritetty iteroitavaksi kymmenen kertaa. Mutta kahdeksan iteroinnin jälkeen on ehto, joka katkaisee iteroinnin ja päättää silmukan. Seuraava tulos näytetään skriptin suorittamisen jälkeen.

Bash While Loop

Vaikka silmukka jatkuu lausunnon kanssa

Continue-käskyä voidaan käyttää tietyn ehdon iteroinnin ohittamiseen while-silmukan sisällä.

Esimerkki

 #!/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.' 

Lähtö

Bash While Loop

While Loop C-tyylillä

Voimme myös kirjoittaa while-silmukan bash-skriptissä samalla tavalla kuin while-silmukan C-ohjelmointikielellä.

Esimerkki

 #!/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></=>