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
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
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
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
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
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
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
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 '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;>
Kimenet
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' 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;>
Kimenet
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
=20;>=10;>