logo

Bash za petlju

U ovoj temi ćemo razumjeti upotrebu za petlju u Bash skriptama.

Kao i svaki drugi programski jezik, skriptiranje bash ljuske također podržava 'for petlje' za izvođenje ponavljajućih zadataka. Pomaže nam da iteriramo određeni skup izjava preko niza riječi u nizu ili elemenata u nizu. Na primjer, možete pokrenuti UNIX naredbu (ili zadatak) mnogo puta ili jednostavno pročitati i obraditi popis naredbi koristeći 'for petlju'.

Sintaksa petlje For

Možemo primijeniti 'for petlju' na bash skriptu na dva načina. Jedan način je 'za-in', a drugi je sintaksa c-stila. Slijedi sintaksa 'for petlje' u skriptiranju bash ljuske:

 for variable in list do commands done 

Ili

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

Postoje neke ključne točke izjave 'for petlje':

  • Svaki blok 'for petlje' u bashu počinje ključnom riječi 'do' nakon koje slijede naredbe unutar bloka. Izjava 'for petlje' zatvara se ključnom riječi 'gotovo'.
  • Broj vremena za koje će se 'for petlja' ponavljati ovisi o deklariranim varijablama popisa.
  • Petlja će odabrati jednu stavku s popisa i dodijeliti vrijednost varijabli koja će se koristiti unutar petlje.
  • Nakon izvršenja naredbi između 'do' i 'done', petlja se vraća na vrh i odabire sljedeću stavku s popisa te ponavlja cijeli proces.
  • Popis može sadržavati brojeve ili nizove itd. odvojene razmacima.

Neki od primjera 'for petlje' navedeni su u nastavku kako bi se ilustrirao njihov rad:

Osnovni primjer 'For petlje'

Bash skripta

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

Izlaz

Bash za petlju

Za petlju za čitanje raspona

Bash skripta

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

Izlaz

Bash za petlju

Za petlju za čitanje raspona s povećanjem/smanjenjem

Određenu vrijednost možemo povećati ili smanjiti dodavanjem još dvije točke (..) i vrijednosti po kojoj se krećemo, npr. {START..END..INCREMENT}. Pogledajte primjer u nastavku:

Za povećanje

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

Izlaz

Bash za petlju

Za smanjenje

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

Izlaz

Bash za petlju

Za petlju za čitanje varijabli polja

Možemo koristiti 'for petlju' za ponavljanje vrijednosti niza.

isključivanje android načina rada za razvojne programere

Sintaksa se može definirati kao:

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

Izlaz

Za svaki element u 'nizu' izvode se izjave ili skup naredbi od 'do' do 'done'. Svakom elementu se može pristupiti kao 'i' unutar petlje za odgovarajuću iteraciju. Pogledajte primjer u nastavku koji objašnjava upotrebu 'for petlje' za ponavljanje preko elemenata niza:

Bash skripta

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

Izlaz

Bash za petlju

Za petlju za čitanje bijelih razmaka u nizu kao razdjelnika riječi

Sintaksa se može definirati na sljedeći način:

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

Ovdje, str odnosi se na niz.

Naredbe od 'do' do 'done' izvode se za svaku 'riječ' niza. Pogledajte primjer u nastavku:

Bash skripta

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

Izlaz

Bash za petlju

Za petlju za čitanje svakog retka u nizu kao riječi

Sintaksa se može definirati na sljedeći način:

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

Ovdje se naredbe od 'do' do 'done' izvode za svaki 'redak' niza. Pogledajte primjer u nastavku:

Bash skripta

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

Izlaz

Bash za petlju

Napomena: Jedina razlika između 'Za petlju za čitanje razmaka u nizu kao razdjelnika riječi' i 'Za petlju za čitanje svakog retka u nizu kao riječi' su dvostruki navodnici oko varijable niza.

Za petlju za čitanje tri izraza

Sintaksa tri izraza najčešća je sintaksa 'for petlje'. Prvi izraz odnosi se na proces inicijalizacije, drugi izraz se odnosi na terminaciju, a treći izraz se odnosi na inkrement ili dekrement.

Pogledajte primjer u nastavku za ispis od 1 do 10 brojeva koristeći tri izraza s for petljom:

Bash skripta

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

Izlaz

Bash za petlju

For petlja s naredbom Continue

Možemo koristiti naredbu 'continue' unutar petlje 'for' da preskočimo bilo koju specifičnu naredbu za određeni uvjet. Govori Bashu da prestane izvršavati tu određenu iteraciju petlje i obradi sljedeću iteraciju.

Bash skripta

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

Izlaz

Bash za petlju

Zaključak

U ovoj smo temi raspravljali o tome kako koristiti naredbu for petlje u Bashu za izvođenje određenih zadataka