logo

Bash For Loop

I dette emnet vil vi forstå bruken av for løkke i Bash-manus.

Som alle andre programmeringsspråk, støtter bash shell-skripting også 'for loops' for å utføre repeterende oppgaver. Det hjelper oss å iterere et bestemt sett med utsagn over en rekke ord i en streng, eller elementer i en matrise. For eksempel kan du enten kjøre UNIX-kommando (eller oppgave) mange ganger eller bare lese og behandle listen over kommandoer ved å bruke en 'for loop'.

Syntaks for For Loop

Vi kan bruke 'for loop' på bash-skript på to måter. En måte er 'for-in' og en annen måte er c-stilsyntaksen. Følgende er syntaksen til 'for loop' i bash shell-skripting:

 for variable in list do commands done 

Eller

 for (( expression1; expression2; expression3 )) do commands done 

Det er noen nøkkelpunkter i 'for loop'-utsagn:

  • Hver blokk med 'for loop' i bash starter med 'do' nøkkelord etterfulgt av kommandoene inne i blokken. 'for loop'-setningen er lukket av 'done' nøkkelord.
  • Hvor lang tid en 'for loop' vil iterere avhenger av de deklarerte listevariablene.
  • Løkken vil velge ett element fra listen og tilordne verdien til en variabel som skal brukes i løkken.
  • Etter utførelse av kommandoer mellom 'gjør' og 'ferdig', går løkken tilbake til toppen og velger neste element fra listen og gjentar hele prosessen.
  • Listen kan inneholde tall eller streng osv. atskilt med mellomrom.

Noen av 'for loop'-eksemplene er gitt nedenfor for å illustrere hvordan de fungerer:

Grunnleggende 'For Loop' eksempel

Bash Script

 #!/bin/bash #This is the basic example of 'for loop'. learn='Start learning from Javatpoint.' for learn in $learn do echo $learn done echo 'Thank You.' 

Produksjon

Bash For Loop

For loop for å lese en rekkevidde

Bash Script

 #!/bin/bash #This is the basic example to print a series of numbers from 1 to 10. for num in {1..10} do echo $num done echo 'Series of numbers from 1 to 10.' 

Produksjon

Bash For Loop

For sløyfe for å lese et område med økning/nedgang

Vi kan øke eller redusere en spesifisert verdi ved å legge til ytterligere to prikker (..) og verdien for å gå videre, f.eks. {START..END..INCREMENT}. Sjekk ut eksempelet nedenfor:

For inkrement

 #!/bin/bash #For Loop to Read a Range with Increment for num in {1..10..1} do echo $num done 

Produksjon

Bash For Loop

For nedgang

 #!/bin/bash #For Loop to Read a Range with Decrement for num in {10..0..1} do echo $num done 

Produksjon

Bash For Loop

For løkke for å lese matrisevariabler

Vi kan bruke 'for loop' for å iterere verdiene til en matrise.

nfa eksempler

Syntaksen kan defineres som:

 array=( 'element1' 'element 2' . . 'elementN' ) for i in '${arr[@]}' do echo $i done 

Produksjon

For hvert element i 'array' utføres setningene eller settet med kommandoer fra 'do' til 'done'. Hvert element kunne nås som 'i' i løkken for den respektive iterasjonen. Ta en titt på eksemplet nedenfor som forklarer bruken av 'for loop' for å iterere over elementer i en matrise:

Bash Script

 #!/bin/bash #Array Declaration arr=( 'Welcome''to''Javatpoint' ) for i in '${arr[@]}' do echo $i done 

Produksjon

Bash For Loop

For løkke for å lese mellomrom i streng som ordskillere

Syntaksen kan defineres som nedenfor:

 #!/bin/bash for word in $str; do done 

Her, str refererer til en streng.

Utsagnene fra 'do' til 'done' utføres for hvert 'ord' i en streng. Sjekk ut eksempelet nedenfor:

Bash Script

 #!/bin/bash #For Loop to Read white spaces in String as word separators str='Let's start learning from Javatpoint.' for i in $str; do echo '$i' done 

Produksjon

Bash For Loop

For at Loop skal lese hver linje i streng som et ord

Syntaksen kan defineres som nedenfor:

 #!/bin/bash for word in '$str'; do done 

Her blir setningene fra 'do' til 'done' utført for hver 'linje' i en streng. Sjekk ut eksempelet nedenfor:

Bash Script

sortere en arraylist
 #!/bin/bash #For Loop to Read each line in String as a word str='Let's start learning from Javatpoint.' for i in '$str'; do echo '$i' done 

Produksjon

Bash For Loop

Merk: Den eneste forskjellen mellom 'For løkke å lese hvite mellomrom i streng som ordskillere' og 'For løkke å lese hver linje i streng som et ord' er de doble anførselstegnene rundt strengvariabelen.

For Loop to Read Tre-uttrykk

Syntaks for tre uttrykk er den vanligste syntaksen for 'for loop'. Det første uttrykket refererer til prosessen med initialisering, det andre uttrykket refererer til avslutningen, og det tredje uttrykket refererer til økningen eller dekrementeringen.

Ta en titt på eksemplet nedenfor for å skrive ut 1 til 10 tall ved å bruke tre uttrykk med for loop:

Bash Script

 #!/bin/bash #For Loop to Read Three-expression for ((i=1; i<=10; i++)) do echo '$i' done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-8.webp" alt="Bash For Loop"> <h3>For Loop with a Break Statement</h3> <p>A &apos;break&apos; statement can be used inside &apos;for&apos; loop to terminate from the loop.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash #Table of 2 for table in {2..100..2} do echo $table if [ $table == 20 ]; then break fi done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-9.webp" alt="Bash For Loop"> <h3>For Loop with a Continue Statement</h3> <p>We can use the &apos;continue&apos; statement inside the &apos;for&apos; loop to skip any specific statement on a particular condition. It tells Bash to stop executing that particular iteration of the loop and process the next iteration.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash #Numbers from 1 to 20, ignoring from 6 to 15 using continue statement&apos; for ((i=1; i<=20; 5 16 i++)); do if [[ $i -gt && -lt ]]; then continue fi echo done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-10.webp" alt="Bash For Loop"> <h3>Infinite Bash For Loop</h3> <p>When there is no &apos;start, condition, and increment&apos; in the bash three expressions for loop, it becomes an infinite loop. To terminate the infinite loop in Bash, we can press Ctrl+C.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash i=1; for (( ; ; )) do sleep 1s echo &apos;Current Number: $((i++))&apos; done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-11.webp" alt="Bash For Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use for loop statement in Bash to perform specific tasks</p> <hr></=20;></pre></=10;>

Produksjon

Bash For Loop

For Loop med en Fortsett-erklæring

Vi kan bruke «fortsett»-utsagnet inne i «for»-løkken for å hoppe over et bestemt utsagn på en bestemt tilstand. Det ber Bash om å slutte å utføre den spesielle iterasjonen av løkken og behandle neste iterasjon.

Bash Script

 #!/bin/bash #Numbers from 1 to 20, ignoring from 6 to 15 using continue statement&apos; for ((i=1; i<=20; 5 16 i++)); do if [[ $i -gt && -lt ]]; then continue fi echo done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-10.webp" alt="Bash For Loop"> <h3>Infinite Bash For Loop</h3> <p>When there is no &apos;start, condition, and increment&apos; in the bash three expressions for loop, it becomes an infinite loop. To terminate the infinite loop in Bash, we can press Ctrl+C.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash i=1; for (( ; ; )) do sleep 1s echo &apos;Current Number: $((i++))&apos; done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-11.webp" alt="Bash For Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use for loop statement in Bash to perform specific tasks</p> <hr></=20;>

Produksjon

Bash For Loop

Konklusjon

I dette emnet diskuterte vi hvordan du kan bruke for loop statement i Bash for å utføre spesifikke oppgaver