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