In dit onderwerp hebben we gedemonstreerd hoe u de while-lusinstructie in Bash Script kunt gebruiken.
De bash while-lus kan worden gedefinieerd als een controlestroominstructie waarmee de gegeven reeks opdrachten herhaaldelijk kan worden uitgevoerd, zolang de toegepaste voorwaarde als waar wordt geëvalueerd. We kunnen bijvoorbeeld het echo-commando vele malen uitvoeren of gewoon een tekstbestand regel voor regel lezen en het resultaat verwerken met behulp van while-lus in Bash.
Syntaxis van Bash While Loop
Bash while-lus heeft het volgende formaat:
typ variabelen java
while [ expression ]; do commands; multiple commands; done
De bovenstaande syntaxis is alleen van toepassing als de expressie één enkele voorwaarde bevat.
Als er meerdere voorwaarden zijn die in de expressie moeten worden opgenomen, is de syntaxis van de while-lus als volgt:
while [ expressions ]; do commands; multiple commands; done
De syntaxis van de while-lus met één voering kan als volgt worden gedefinieerd:
while [ condition ]; do commands; done while control-command; do Commands; done
Er zijn enkele belangrijke punten van de 'while loop'-verklaring:
- De voorwaarde wordt gecontroleerd voordat de opdrachten worden uitgevoerd.
- De 'while'-lus kan ook al het werk doen dat de 'loop' kan doen.
- De opdrachten tussen 'do' en 'done' worden herhaaldelijk uitgevoerd zolang de voorwaarde als waar wordt geëvalueerd.
- De argumenten voor een 'while'-lus kunnen een Booleaanse expressie zijn.
Hoe het werkt
De while-lus is een beperkte toegangslus. Het betekent dat de voorwaarde wordt gecontroleerd voordat de opdrachten van de while-lus worden uitgevoerd. Als de voorwaarde waar is, wordt de reeks opdrachten die op die voorwaarde volgen uitgevoerd. Anders wordt de lus beëindigd en wordt de programmabesturing overgedragen aan het andere commando na de 'done'-instructie.
Bash While Loop-voorbeelden
Hieronder volgen enkele voorbeelden van bash while-lus:
While-lus met enkele voorwaarde
In dit voorbeeld wordt de while-lus gebruikt met een enkele voorwaarde in de expressie. Het is het basisvoorbeeld van een while-lus die een reeks getallen afdrukt volgens gebruikersinvoer:
Voorbeeld
#!/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.'
Uitvoer
While-lus met meerdere voorwaarden
Hieronder volgt een voorbeeld van een while-lus met meerdere voorwaarden in de expressie:
Voorbeeld
#!/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.'
Uitvoer
Java-verklaring
Oneindige While-lus
Een oneindige lus is een lus die geen einde of beëindiging heeft. Als de voorwaarde altijd waar oplevert, ontstaat er een oneindige lus. De lus wordt continu uitgevoerd totdat deze krachtig wordt gestopt met CTRL+C:
Voorbeeld
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
We kunnen het bovenstaande script ook in één regel schrijven als:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Uitvoer
Hier hebben we de ingebouwde opdracht (:) gebruikt, die altijd waar retourneert. We kunnen ook de ingebouwde opdracht true gebruiken om een oneindige lus te maken, zoals hieronder:
Voorbeeld
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Dit bash-script levert ook dezelfde uitvoer als het bovenstaande oneindige script.
Opmerking: Oneindige lussen kunnen worden beëindigd door CTRL+C te gebruiken of door een voorwaardelijke exit toe te voegen aan het script.
While-lus met een break-instructie
Een break-instructie kan worden gebruikt om de lus te stoppen volgens de toegepaste voorwaarde. Bijvoorbeeld:
download youtube-video vlc
Voorbeeld
#!/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
Uitvoer
Volgens het script wordt de lus toegewezen om tien keer te herhalen. Maar er is een voorwaarde na acht keer iteratie die de iteratie zal verbreken en de lus zal beëindigen. De volgende uitvoer wordt weergegeven na het uitvoeren van het script.
While Loop met een Continue-instructie
Een continue-instructie kan worden gebruikt om de iteratie voor een specifieke voorwaarde binnen de while-lus over te slaan.
Voorbeeld
#!/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.'
Uitvoer
While-loop met C-stijl
We kunnen ook while-lus in bash-script schrijven, net zoals een while-lus in de programmeertaal C.
Voorbeeld
#!/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></=>