logo

Bash za zanko

V tej temi bomo razumeli uporabo za zanko v skriptih Bash.

Kot kateri koli drug programski jezik tudi skriptna lupina bash podpira 'zanke' za izvajanje ponavljajočih se nalog. Pomaga nam iterirati določen nabor izjav čez vrsto besed v nizu ali elemente v matriki. Na primer, lahko večkrat zaženete ukaz UNIX (ali nalogo) ali pa preprosto preberete in obdelate seznam ukazov z uporabo 'zanke for'.

Sintaksa zanke For

Na skript bash lahko uporabimo 'zanko for' na dva načina. Eden od načinov je 'za-in', drugi način pa je sintaksa v slogu c. Sledi sintaksa 'zanke' v skriptni lupini bash:

 for variable in list do commands done 

oz

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

Obstaja nekaj ključnih točk izjave o zanki for:

  • Vsak blok 'zanke for' v bash se začne s ključno besedo 'do', ki ji sledijo ukazi znotraj bloka. Stavek 'for loop' se zaključi s ključno besedo 'done'.
  • Koliko časa se bo ponovila 'zanka for', je odvisno od deklariranih spremenljivk seznama.
  • Zanka bo izbrala en element s seznama in dodelila vrednost spremenljivki, ki bo uporabljena znotraj zanke.
  • Po izvedbi ukazov med 'do' in 'done' se zanka vrne na vrh in izbere naslednji element s seznama ter ponovi celoten postopek.
  • Seznam lahko vsebuje številke ali niz itd., ločene s presledki.

Spodaj je navedenih nekaj primerov zanke for, ki ponazarjajo, kako delujejo:

Osnovni primer 'Zanke'

Bash skript

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

Izhod

Bash za zanko

Zanka za branje obsega

Bash skript

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

Izhod

Bash za zanko

Zanka za branje obsega s povečanjem/zmanjšanjem

Določeno vrednost lahko povečamo ali zmanjšamo tako, da dodamo še dve piki (..) in vrednost, po kateri se premikamo, npr. {START..END..INCREMENT}. Oglejte si spodnji primer:

Za povečanje

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

Izhod

Bash za zanko

Za zmanjšanje

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

Izhod

Bash za zanko

Zanka za branje matričnih spremenljivk

Za ponavljanje vrednosti matrike lahko uporabimo 'zanko for'.

pretvori niz v enum

Sintakso lahko definiramo kot:

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

Izhod

Za vsak element v 'matriki' se izvedejo stavke ali nabor ukazov od 'do' do 'done'. Do vsakega elementa je mogoče dostopati kot 'i' znotraj zanke za zadevno ponovitev. Oglejte si spodnji primer, ki pojasnjuje uporabo 'zanke for' za ponavljanje elementov matrike:

Bash skript

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

Izhod

Bash za zanko

Za zanko za branje belih presledkov v nizu kot ločila besed

Sintakso lahko definiramo na naslednji način:

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

tukaj, str se nanaša na niz.

Stavki od 'do' do 'done' se izvedejo za vsako 'besedo' niza. Oglejte si spodnji primer:

Bash skript

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

Izhod

Bash za zanko

Za Loop za branje vsake vrstice v nizu kot besede

Sintakso lahko definiramo takole:

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

Tukaj se stavki od 'do' do 'done' izvedejo za vsako 'vrstico' niza. Oglejte si spodnji primer:

Bash skript

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

Izhod

Bash za zanko

Opomba: Edina razlika med »Zanka za branje presledkov v nizu kot ločila besed« in »Zanka za branje vsake vrstice v nizu kot beseda« so dvojni narekovaji okoli spremenljivke niza.

Za zanko za branje treh izrazov

Sintaksa treh izrazov je najpogostejša sintaksa zanke for. Prvi izraz se nanaša na postopek inicializacije, drugi izraz se nanaša na prekinitev in tretji izraz se nanaša na povečanje ali zmanjšanje.

Oglejte si spodnji primer za tiskanje števil od 1 do 10 z uporabo treh izrazov z zanko for:

vadnica za javafx

Bash skript

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

Izhod

Bash za zanko

Zanka For s stavkom Continue

Uporabimo lahko stavek 'nadaljuj' znotraj zanke 'za', da preskočimo kateri koli določen stavek za določen pogoj. Bashu sporoči, naj preneha izvajati to določeno ponovitev zanke in obdela naslednjo ponovitev.

Bash skript

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

Izhod

Bash za zanko

Zaključek

V tej temi smo razpravljali o tem, kako uporabiti stavek zanke for v Bashu za izvajanje določenih nalog