logo

Bash For Loop

I dette emne vil vi forstå brugen af for sløjfe i Bash-scripts.

Som ethvert andet programmeringssprog understøtter bash shell scripting også 'for loops' til at udføre gentagne opgaver. Det hjælper os med at iterere et bestemt sæt udsagn over en række ord i en streng eller elementer i en matrix. For eksempel kan du enten køre UNIX-kommando (eller opgave) mange gange eller bare læse og behandle listen over kommandoer ved hjælp af en 'for loop'.

Syntaks for For Loop

Vi kan anvende 'for loop' på bash-script på to måder. En måde er 'for-in' og en anden måde er c-stil syntaksen. Følgende er syntaksen for 'for loop' i bash shell scripting:

 for variable in list do commands done 

Eller

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

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

  • Hver blok af 'for loop' i bash starter med 'do' nøgleordet efterfulgt af kommandoerne inde i blokken. 'for loop'-sætningen er lukket af 'done' nøgleordet.
  • Antallet af tid, som en 'for loop' vil iterere, afhænger af de erklærede listevariable.
  • Sløjfen vil vælge ét element fra listen og tildele værdien til en variabel, som vil blive brugt i løkken.
  • Efter udførelse af kommandoer mellem 'do' og 'done', går løkken tilbage til toppen og vælger det næste punkt fra listen og gentager hele processen.
  • Listen kan indeholde tal eller streng osv. adskilt af mellemrum.

Nogle af 'for loop'-eksemplerne er givet nedenfor for at illustrere, hvordan de fungerer:

Grundlæggende '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.' 

Produktion

Bash For Loop

For loop til at læse en række

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.' 

Produktion

Bash For Loop

For løkke at læse et område med stigning/reduktion

Vi kan øge eller mindske en specificeret værdi ved at tilføje yderligere to prikker (..) og værdien for at trinvise, f.eks. {START..END..INCREMENT}. Se eksemplet nedenfor:

For Increment

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

Produktion

Bash For Loop

Til nedsættelse

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

Produktion

Bash For Loop

Til løkke for at læse arrayvariabler

Vi kan bruge 'for loop' til at iterere værdierne af et array.

nfa eksempler

Syntaksen kan defineres som:

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

Produktion

For hvert element i 'array' udføres sætningerne eller sættet af kommandoer fra 'do' til 'done'. Hvert element kunne tilgås som 'i' i løkken for den respektive iteration. Se eksemplet nedenfor, der forklarer brugen af ​​'for loop' til at iterere over elementer i et array:

Bash Script

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

Produktion

Bash For Loop

For Loop for at læse hvide mellemrum i streng som ordseparatorer

Syntaksen kan defineres som nedenfor:

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

Her, str henviser til en streng.

Udsagn fra 'do' til 'done' udføres for hvert 'ord' i en streng. Se eksemplet 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 

Produktion

Bash For Loop

For at Loop skal læse hver linje i streng som et ord

Syntaksen kan defineres som nedenfor:

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

Her udføres udsagn fra 'do' til 'done' for hver 'linje' i en streng. Se eksemplet nedenfor:

Bash Script

anmærkninger i springstøvle
 #!/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 

Produktion

Bash For Loop

Bemærk: Den eneste forskel mellem 'Til at læse hvide mellemrum i streng som ordseparatorer' og 'For at læse hver linje i streng som et ord' er de dobbelte anførselstegn omkring strengvariablen.

For Loop to Read Tre-udtryk

Syntaks med tre udtryk er den mest almindelige syntaks for 'for loop'. Det første udtryk refererer til initialiseringsprocessen, det andet udtryk refererer til afslutningen, og det tredje udtryk refererer til stigningen eller reduktionen.

Se eksemplet nedenfor for at udskrive 1 til 10 tal ved hjælp af tre udtryk 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;>

Produktion

Bash For Loop

For Loop med en Fortsæt-erklæring

Vi kan bruge 'fortsæt'-sætningen inde i 'for'-løkken til at springe en specifik sætning over for en bestemt betingelse. Det fortæller Bash at stoppe med at udføre den pågældende iteration af løkken og behandle den næste iteration.

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;>

Produktion

Bash For Loop

Konklusion

I dette emne diskuterede vi, hvordan man bruger en loop-sætning i Bash til at udføre specifikke opgaver