logo

Bash For Loop

V tejto téme pochopíme použitie pre slučku v skriptoch Bash.

Ako každý iný programovací jazyk, aj skriptovanie bash shell tiež podporuje „cykly for“ na vykonávanie opakujúcich sa úloh. Pomáha nám to iterovať konkrétnu množinu príkazov cez sériu slov v reťazci alebo prvkov v poli. Napríklad môžete príkaz (alebo úlohu) systému UNIX spustiť viackrát alebo len prečítať a spracovať zoznam príkazov pomocou „cyklu for“.

Syntax For Loop

'for loop' môžeme použiť na bash skript dvoma spôsobmi. Jeden spôsob je 'for-in' a druhý spôsob je syntax v štýle c. Nasleduje syntax „cykla for“ v skriptovaní shellu bash:

 for variable in list do commands done 

Alebo

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

Existuje niekoľko kľúčových bodov príkazu „cyklus for“:

  • Každý blok cyklu „for“ v bash začína kľúčovým slovom „do“, za ktorým nasledujú príkazy vo vnútri bloku. Príkaz „for loop“ je uzavretý kľúčovým slovom „done“.
  • Čas, počas ktorého sa bude „cyklus for“ opakovať, závisí od deklarovaných premenných zoznamu.
  • Cyklus vyberie jednu položku zo zoznamu a priradí hodnotu premennej, ktorá sa použije v rámci cyklu.
  • Po vykonaní príkazov medzi 'do' a 'done' sa cyklus vráti na začiatok a vyberie ďalšiu položku zo zoznamu a celý proces zopakuje.
  • Zoznam môže obsahovať čísla alebo reťazec atď. oddelené medzerami.

Niektoré z príkladov „slučky for“ sú uvedené nižšie, aby ilustrovali, ako fungujú:

Základný príklad „For Loop“.

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

Výkon

Bash For Loop

Pre slučku na čítanie rozsahu

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

Výkon

Bash For Loop

Pre slučku na čítanie rozsahu s prírastkom/znižovaním

Zadanú hodnotu môžeme zvýšiť alebo znížiť pridaním dvoch ďalších bodiek (..) a hodnoty postupne, napr. {START..END..INCREMENT}. Pozrite si príklad nižšie:

Pre prírastok

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

Výkon

Bash For Loop

Pre zníženie

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

Výkon

Bash For Loop

Pre slučku na čítanie premenných poľa

Na iteráciu hodnôt poľa môžeme použiť „cyklus for“.

zoznam uzlov v jazyku Java

Syntax možno definovať ako:

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

Výkon

Pre každý prvok v 'pole' sa vykonajú príkazy alebo množina príkazov od 'do' do 'done'. Ku každému prvku je možné pristupovať ako „i“ v rámci cyklu pre príslušnú iteráciu. Pozrite si nižšie uvedený príklad vysvetľujúci použitie cyklu „for“ na iteráciu prvkov poľa:

Bash skript

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

Výkon

Bash For Loop

Pre slučku na čítanie prázdne miesta v reťazci ako oddeľovače slov

Syntax možno definovať takto:

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

Tu, str odkazuje na reťazec.

Príkazy od „do“ po „hotovo“ sa vykonajú pre každé „slovo“ reťazca. Pozrite si príklad nižšie:

ako nájdem skryté aplikácie v systéme Android

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 

Výkon

Bash For Loop

Slučka na čítanie každého riadku v reťazci ako slovo

Syntax možno definovať takto:

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

Tu sa príkazy od „do“ po „done“ vykonajú pre každý „riadok“ reťazca. Pozrite si príklad nižšie:

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 

Výkon

Bash For Loop

Poznámka: Jediný rozdiel medzi „Pre slučku na čítanie bielych miest v reťazci ako oddeľovač slov“ a „Pre slučku na prečítanie každého riadku v reťazci ako slovo“ sú dvojité úvodzovky okolo premennej reťazca.

Pre slučku na čítanie Trojvýraz

Syntax troch výrazov je najbežnejšou syntaxou cyklu „for“. Prvý výraz sa týka procesu inicializácie, druhý výraz sa týka ukončenia a tretí výraz sa týka prírastku alebo znižovania.

Pozrite si nižšie uvedený príklad a vytlačte 1 až 10 čísel pomocou troch výrazov so slučkou for:

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

Výkon

Bash For Loop

Pre slučku s príkazom Continue

Môžeme použiť príkaz 'continue' v rámci cyklu 'for' na preskočenie akéhokoľvek špecifického príkazu pre konkrétnu podmienku. Hovorí Bashovi, aby zastavil vykonávanie tejto konkrétnej iterácie cyklu a spracoval ďalšiu iteráciu.

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

Výkon

Bash For Loop

Záver

V tejto téme sme diskutovali o tom, ako používať príkaz for loop v Bash na vykonávanie špecifických úloh