logo

Bash For Loop

Tässä aiheessa ymmärrämme käytön silmukalle Bash-skripteissä.

Kuten mikä tahansa muu ohjelmointikieli, myös bash shell -komentosarja tukee 'for loops' -toimintoa toistuvien tehtävien suorittamiseen. Se auttaa meitä iteroimaan tietyn lausejoukon sanasarjan yli merkkijonossa tai taulukon elementeissä. Voit esimerkiksi suorittaa UNIX-komennon (tai tehtävän) monta kertaa tai vain lukea ja käsitellä komentoluettelon käyttämällä 'for-silmukkaa'.

For Loopin syntaksi

Voimme soveltaa 'for loop' bash-skriptiin kahdella tavalla. Yksi tapa on 'for-in' ja toinen tapa on c-tyylinen syntaksi. Seuraava on 'for silmukan' syntaksi bash shell -komentosarjassa:

 for variable in list do commands done 

Tai

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

'for loop' -lauseessa on joitain avainkohtia:

  • Jokainen bashin 'for loop' -lohko alkaa 'do'-avainsanalla, jota seuraa lohkon sisällä olevat komennot. 'For loop' -lause suljetaan avainsanalla 'done'.
  • Aika, jonka 'for-silmukka' iteroituu, riippuu ilmoitetuista luettelomuuttujista.
  • Silmukka valitsee luettelosta yhden kohteen ja määrittää arvon muuttujalle, jota käytetään silmukassa.
  • Kun komentojen 'do' ja 'done' välillä on suoritettu, silmukka palaa alkuun ja valitsee luettelosta seuraavan kohteen ja toista koko prosessi.
  • Lista voi sisältää numeroita tai merkkijonoja jne. välilyönnillä erotettuna.

Alla on joitain 'for-silmukan' esimerkkejä havainnollistamaan niiden toimintaa:

Perusesimerkki For Loopista

Bash-skripti

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

Lähtö

Bash For Loop

Silmukalle alueen lukemiseen

Bash-skripti

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

Lähtö

Bash For Loop

Silmukalle, joka lukee alueen lisäyksellä/vähennyksellä

Voimme suurentaa tai pienentää määritettyä arvoa lisäämällä kaksi muuta pistettä (..) ja askeleen arvon, esim. {START..END..INCREMENT}. Katso alla oleva esimerkki:

Lisäystä varten

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

Lähtö

Bash For Loop

Vähennystä varten

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

Lähtö

Bash For Loop

Silmukalle taulukkomuuttujien lukemiseen

Voimme käyttää 'for-silmukkaa' taulukon arvojen iterointiin.

poista npm-välimuisti

Syntaksi voidaan määritellä seuraavasti:

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

Lähtö

Jokaiselle taulukon elementille suoritetaan käskyt tai komentosarja kohdasta 'do' - 'done'. Jokaista elementtiä voitiin käyttää i-kirjaimella silmukassa vastaavaa iteraatiota varten. Katso alla oleva esimerkki, joka selittää 'for silmukan' käytön taulukon elementtien iteroimiseen:

Bash-skripti

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

Lähtö

Bash For Loop

For Loop lukemaan välilyönnit merkkijonossa sanaerottimina

Syntaksi voidaan määritellä seuraavasti:

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

Tässä, str viittaa merkkijonoon.

Lausunnot 'do' - 'tehty' suoritetaan jokaiselle merkkijonon 'sanalle'. Katso alla oleva esimerkki:

Bash-skripti

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

Lähtö

Bash For Loop

Silmukka lukee jokaisen merkkijonon rivin sanana

Syntaksi voidaan määritellä seuraavasti:

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

Tässä lausekkeet 'do' - 'done' suoritetaan jokaiselle merkkijonon 'riville'. Katso alla oleva esimerkki:

Bash-skripti

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

Lähtö

Bash For Loop

Huomautus: Ainoa ero 'For Loop to Read välilyönnit merkkijonossa sanaerottimina' ja 'For Loop to Read kunkin rivin merkkijonon sanana' välillä on lainausmerkit merkkijonomuuttujan ympärillä.

For Loop to Read Kolmilauseke

Kolmen lausekkeen syntaksi on 'for silmukan' yleisin syntaksi. Ensimmäinen lauseke viittaa alustusprosessiin, toinen lauseke viittaa lopetukseen ja kolmas lauseke viittaa lisäykseen tai vähentämiseen.

Katso alla oleva esimerkki tulostaaksesi 1-10 numeroa käyttämällä kolmea lauseketta for-silmukalla:

Bash-skripti

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

Lähtö

Bash For Loop

For Loop ja Continue Statement

Voimme käyttää 'continue'-lausetta 'for'-silmukan sisällä ohittaaksemme minkä tahansa tietyn ehdon tietyn lauseen. Se käskee Bashia lopettamaan silmukan kyseisen iteraation suorittamisen ja käsittelemään seuraavan iteraation.

Bash-skripti

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

Lähtö

Bash For Loop

Johtopäätös

Tässä aiheessa keskustelimme siitä, kuinka käyttää for loop -lausetta Bashissa tiettyjen tehtävien suorittamiseen