logo

Bash While Loop

I dette emne har vi demonstreret, hvordan man bruger while loop-sætning i Bash Script.

Det bash while loop kan defineres som en kontrolflow-sætning, der tillader at udføre det givne sæt kommandoer gentagne gange, så længe den anvendte betingelse evalueres til at være sand. For eksempel kan vi enten køre echo-kommando mange gange eller bare læse en tekstfil linje for linje og behandle resultatet ved at bruge while loop i Bash.

Syntaks for Bash While Loop

Bash while loop har følgende format:

15 af 100,00
 while [ expression ]; do commands; multiple commands; done 

Ovenstående syntaks er kun anvendelig, hvis udtrykket indeholder en enkelt betingelse.

Hvis der er flere betingelser, der skal inkluderes i udtrykket, vil syntaksen for while-løkken være som følger:

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

While loop one-liner syntaks kan defineres som:

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

Der er nogle nøglepunkter i 'while loop'-erklæringen:

  • Betingelsen kontrolleres, før kommandoerne udføres.
  • 'mens'-løkken er også i stand til at udføre alt det arbejde, som 'løkke' kan udføre.
  • Kommandoerne mellem 'do' og 'done' udføres gentagne gange, så længe betingelsen vurderes til at være sand.
  • Argumenterne for en 'mens'-løkke kan være et boolsk udtryk.

Hvordan det virker

While-løkken er en begrænset adgangsløkke. Det betyder, at betingelsen kontrolleres, før kommandoerne i while-løkken udføres. Hvis betingelsen evalueres til sand, udføres det sæt af kommandoer, der følger efter denne betingelse. Ellers afsluttes løkken, og programstyringen gives til den anden kommando efter 'done'-sætningen.

Eksempler på Bash While Loop

Følgende er nogle eksempler på bash while loop:

Mens Loop med Single Condition

I dette eksempel bruges while-løkken med en enkelt betingelse i udtryk. Det er det grundlæggende eksempel på while-løkke, som vil udskrive rækker af tal som pr. brugerinput:

Eksempel

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

Produktion

Bash While Loop

Mens løkke med flere betingelser

Følgende er et eksempel på while-løkke med flere betingelser i udtrykket:

Eksempel

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

Produktion

binær til bcd
Bash While Loop

Infinite While Loop

En uendelig løkke er en løkke, der ikke har nogen afslutning eller afslutning. Hvis betingelsen altid evalueres til sand, skaber den en uendelig løkke. Sløjfen vil køre kontinuerligt, indtil den er tvunget stoppet med CTRL+C:

Eksempel

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

Vi kan også skrive ovenstående script på en enkelt linje som:

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

Produktion

Bash While Loop

Her har vi brugt den indbyggede kommando (:) som altid returnerer sand. Vi kan også bruge den indbyggede kommando true til at skabe en uendelig løkke ligesom nedenfor:

Eksempel

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

Dette bash-script vil også give det samme output som et ovenstående uendeligt script.

Bemærk: Uendelige loops kan afsluttes ved at bruge CTRL+C eller ved at tilføje en betinget exit i scriptet.

Mens sløjfe med en pauseerklæring

En break-sætning kan bruges til at stoppe løkken i henhold til den anvendte betingelse. For eksempel:

Eksempel

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

Produktion

Ifølge scriptet er løkken tildelt til at iterere ti gange. Men der er en tilstand efter otte ganges iteration, som vil bryde iterationen og afslutte løkken. Følgende output vil blive vist efter eksekvering af scriptet.

Bash While Loop

Mens sløjfe med en Fortsæt-erklæring

En fortsæt-sætning kan bruges til at springe iterationen over for en specifik tilstand inde i while-løkken.

Eksempel

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

Produktion

hvordan man konverterer streng til int i java
Bash While Loop

Mens Loop med C-Style

Vi kan også skrive while loop i bash script som en while loop i C programmeringssprog.

Eksempel

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