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ö
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
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ö
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.
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ö
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></=>