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ö
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ö
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ö
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ö
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ö
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ö
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ö
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 'break' statement can be used inside 'for' 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 'continue' statement inside the 'for' 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' 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 'start, condition, and increment' 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 'Current Number: $((i++))' 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ö
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' 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 'start, condition, and increment' 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 'Current Number: $((i++))' 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ö
Johtopäätös
Tässä aiheessa keskustelimme siitä, kuinka käyttää for loop -lausetta Bashissa tiettyjen tehtävien suorittamiseen
=20;>=10;>