logo

Bash For Loop

Ebben a témában megértjük a használatát hurokhoz Bash szkriptekben.

Mint minden más programozási nyelv, a bash shell scripting is támogatja a „for ciklusokat” az ismétlődő feladatok végrehajtásához. Segít abban, hogy egy adott állításkészletet ismételjünk egy karakterláncban lévő szavak sorozatán vagy egy tömb elemei között. Például sokszor futtathatja a UNIX parancsot (vagy feladatot), vagy egyszerűen csak elolvashatja és feldolgozhatja a parancsok listáját egy „for ciklus” használatával.

A For Loop szintaxisa

A 'for ciklust' kétféleképpen alkalmazhatjuk bash szkripten. Az egyik mód a 'for-in', a másik pedig a c-stílusú szintaxis. A következő a 'for ciklus' szintaxisa a bash shell szkriptekben:

 for variable in list do commands done 

Vagy

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

Van néhány kulcsfontosságú pont a 'for loop' utasításban:

  • A bash-ban a 'for ciklus' minden blokkja a 'do' kulcsszóval kezdődik, amelyet a blokkon belüli parancsok követnek. A 'for loop' utasítást a 'done' kulcsszó zárja.
  • Az időtartam, ameddig a 'for ciklus' ismétlődik, a deklarált listaváltozóktól függ.
  • A ciklus kiválaszt egy elemet a listából, és hozzárendeli az értéket egy változóhoz, amelyet a cikluson belül használni fog.
  • A 'do' és 'done' közötti parancsok végrehajtása után a ciklus visszamegy a tetejére, kiválasztja a következő elemet a listából, és megismétli az egész folyamatot.
  • A lista tartalmazhat számokat, karakterláncokat stb. szóközzel elválasztva.

Az alábbiakban bemutatunk néhány „for loop” példát, amelyek bemutatják, hogyan működnek:

Alapvető „For Loop” példa

Bash Script

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

Kimenet

Bash For Loop

For Loop to Read a Range

Bash Script

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

Kimenet

Bash For Loop

A hurokhoz egy tartomány beolvasásához növekmény/csökkentéssel

Egy adott értéket növelhetünk vagy csökkenthetünk két további pont (..) és a lépésenkénti érték hozzáadásával, például: {START..END..INCREMENT}. Nézze meg az alábbi példát:

Növekedésért

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

Kimenet

Bash For Loop

Csökkenésért

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

Kimenet

Bash For Loop

For Loop to Read Array Variables

Használhatjuk a 'for ciklust' egy tömb értékeinek iterálására.

tömblista rendezése java-ban

A szintaxis a következőképpen definiálható:

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

Kimenet

A 'tömb' minden egyes eleméhez a 'do'-tól 'done'-ig tartó utasítások vagy parancskészletek végrehajtásra kerülnek. Minden elem 'i'-ként érhető el a cikluson belül a megfelelő iterációhoz. Tekintse meg az alábbi példát, amely elmagyarázza a „for ciklus” használatát egy tömb elemei közötti iterációhoz:

Bash Script

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

Kimenet

Bash For Loop

A ciklushoz a karakterláncban lévő szóközök szóelválasztóként történő olvasásához

A szintaxis az alábbiak szerint definiálható:

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

Itt, str karakterláncra utal.

tojson java

A „do”-tól a „done”-ig tartó utasítások végrehajtásra kerülnek egy karakterlánc minden „szava”-ra. Nézze meg az alábbi példát:

Bash Script

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

Kimenet

Bash For Loop

A ciklushoz a String minden sorát szóként olvassa fel

A szintaxis az alábbiak szerint definiálható:

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

Itt a 'do'-tól 'done'-ig tartó utasítások végrehajtásra kerülnek egy karakterlánc minden egyes 'sorára'. Nézze meg az alábbi példát:

Bash Script

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

Kimenet

Bash For Loop

Megjegyzés: Az egyetlen különbség a 'For Loop a karakterláncban lévő szóközök olvasásához szóelválasztóként' és a 'For Loop a String minden sorának szóként történő olvasásához' között a karakterlánc változó körüli dupla idézőjel.

For Loop to Read Három kifejezés

A három kifejezés szintaxisa a „for ciklus” leggyakoribb szintaxisa. Az első kifejezés az inicializálás folyamatára, a második kifejezés a befejezésre, a harmadik kifejezés pedig a növelésre vagy csökkentésére utal.

Tekintse meg az alábbi példát 1-től 10-ig terjedő számok kinyomtatására három kifejezéssel a for ciklussal:

Bash Script

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

Kimenet

Bash For Loop

For Loop egy Continue nyilatkozattal

Használhatjuk a 'for' cikluson belüli 'continue' utasítást, hogy kihagyjunk egy adott feltételre vonatkozó konkrét utasítást. Arra utasítja a Bash-t, hogy hagyja abba a ciklus adott iterációjának végrehajtását, és dolgozza fel a következő iterációt.

Bash Script

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

Kimenet

Bash For Loop

Következtetés

Ebben a témakörben megvitattuk, hogyan használhatjuk a for loop utasítást a Bash-ban meghatározott feladatok végrehajtására