logo

Bash For Loop

Šajā tēmā mēs sapratīsim lietojumu cilpai Bash skriptos.

Tāpat kā jebkura cita programmēšanas valoda, bash čaulas skriptēšana atbalsta arī “cilpas”, lai veiktu atkārtotus uzdevumus. Tas palīdz mums atkārtot noteiktu paziņojumu kopu virknē virknē esošo vārdu vai masīva elementu. Piemēram, varat palaist UNIX komandu (vai uzdevumu) vairākas reizes vai vienkārši lasīt un apstrādāt komandu sarakstu, izmantojot cilpu.

For Loop sintakse

Mēs varam izmantot cilpu bash skriptā divos veidos. Viens veids ir “for-in”, bet otrs veids ir c stila sintakse. Tālāk ir norādīta cilpas “for loop” sintakse bash čaulas skriptēšanā:

 for variable in list do commands done 

Or

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

Ir daži galvenie cilpas paziņojuma punkti:

  • Katrs bash “for loop” bloks sākas ar atslēgvārdu “do”, kam seko komandas blokā. Priekšraksts 'cilpai' tiek slēgts ar atslēgvārdu 'pabeigts'.
  • Laika skaits, cik ilgi atkārtosies cilpa, ir atkarīgs no deklarētajiem saraksta mainīgajiem.
  • Cilpa atlasīs vienu vienumu no saraksta un piešķirs vērtību mainīgajam, kas tiks izmantots cilpas ietvaros.
  • Pēc komandu izpildes starp “do” un “done”, cilpa atgriežas augšpusē un sarakstā atlasiet nākamo vienumu un atkārto visu procesu.
  • Sarakstā var būt skaitļi vai virkne utt., kas atdalīti ar atstarpēm.

Tālāk ir sniegti daži “cilpas” piemēri, lai ilustrētu, kā tie darbojas.

Pamata “Cilpas” piemērs

Bash skripts

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

Izvade

Bash For Loop

Lai cilpa nolasītu diapazonu

Bash skripts

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

Izvade

Bash For Loop

Lai cilpa nolasītu diapazonu ar palielinājumu/samazināšanos

Mēs varam palielināt vai samazināt norādīto vērtību, pievienojot vēl divus punktus (..) un vērtību, kas jāturpina, piemēram, {START..END..INCREMENT}. Apskatiet tālāk redzamo piemēru:

Pieaugumam

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

Izvade

Bash For Loop

Samazinājumam

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

Izvade

Bash For Loop

Cilpai, lai lasītu masīva mainīgos

Mēs varam izmantot 'cilpu', lai atkārtotu masīva vērtības.

nosacījuma operators java

Sintakse var definēt šādi:

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

Izvade

Katram elementam 'masīvā' tiek izpildīti priekšraksti vai komandu kopa no 'do' līdz 'done'. Katram elementam var piekļūt kā “i” attiecīgās iterācijas cilpas ietvaros. Apskatiet tālāk redzamo piemēru, kurā paskaidrots, kā izmantot cilpu, lai atkārtotu masīva elementus:

Bash skripts

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

Izvade

Bash For Loop

For Loop, lai nolasītu baltās atstarpes virknē kā vārdu atdalītājus

Sintakse var definēt šādi:

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

Šeit, str attiecas uz virkni.

bkoks un b koks

Paziņojumi no 'do' līdz 'darīts' tiek izpildīti katram virknes 'vārdam'. Apskatiet tālāk redzamo piemēru:

Bash skripts

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

Izvade

Bash For Loop

Lai cilpa nolasītu katru virknes rindiņu kā vārdu

Sintakse var definēt šādi:

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

Šeit katrai virknes 'rindiņai' tiek izpildīti priekšraksti no 'do' līdz 'done'. Apskatiet tālāk redzamo piemēru:

Bash skripts

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

Izvade

Bash For Loop

Piezīme. Vienīgā atšķirība starp 'Cilpai, lai nolasītu atstarpes virknē kā vārdu atdalītājus' un 'Cilpai, lai nolasītu katru virknes rindiņu kā vārdu' ir dubultās pēdiņas ap virknes mainīgo.

For Loop to Read Trīs izteiksme

Trīs izteiksmju sintakse ir visizplatītākā cilpas sintakse. Pirmā izteiksme attiecas uz inicializācijas procesu, otrā izteiksme attiecas uz izbeigšanu, bet trešā izteiksme attiecas uz palielināšanu vai samazināšanu.

Apskatiet tālāk redzamo piemēru, lai izdrukātu 1 līdz 10 skaitļus, izmantojot trīs izteiksmes ar for cilpu:

Bash skripts

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

Izvade

Bash For Loop

For Loop with an Continue Statement

Mēs varam izmantot paziņojumu 'turpināt' cilpas 'for', lai izlaistu jebkuru konkrētu paziņojumu par noteiktu nosacījumu. Tas liek Bašam pārtraukt konkrētās cilpas iterācijas izpildi un apstrādāt nākamo iterāciju.

Bash skripts

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

Izvade

Bash For Loop

Secinājums

Šajā tēmā mēs apspriedām, kā izmantot cilpas paziņojumu programmā Bash, lai veiktu konkrētus uzdevumus