logo

Bash terwijl lus

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

Bash terwijl lus

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
Bash terwijl lus

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

Bash terwijl lus

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.

Bash terwijl lus

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

Bash terwijl lus

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