logo

Bash For Loop

Šioje temoje mes suprasime naudojimą už kilpą Bash scenarijuose.

Kaip ir bet kuri kita programavimo kalba, „bash“ apvalkalo scenarijus taip pat palaiko „for ciklus“, kad būtų galima atlikti pasikartojančias užduotis. Tai padeda mums pakartoti tam tikrą teiginių rinkinį per žodžių seriją eilutėje arba masyvo elementus. Pavyzdžiui, galite daug kartų paleisti UNIX komandą (arba užduotį) arba tiesiog skaityti ir apdoroti komandų sąrašą naudodami „ciklą“.

For Loop sintaksė

Mes galime taikyti „for loop“ bash scenarijuje dviem būdais. Vienas būdas yra „for-in“, o kitas – c stiliaus sintaksė. Toliau pateikiama „for loop“ sintaksė „bash“ apvalkalo scenarijuose:

 for variable in list do commands done 

Arba

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

Yra keletas pagrindinių teiginio „for loop“ punktų:

  • Kiekvienas bash „for loop“ blokas prasideda raktiniu žodžiu „do“, po kurio seka komandas bloko viduje. „For loop“ teiginys uždaromas raktiniu žodžiu „atlikta“.
  • Laiko, kurį kartosis ciklas, skaičius priklauso nuo deklaruojamų sąrašo kintamųjų.
  • Ciklas pasirinks vieną elementą iš sąrašo ir priskirs vertę kintamajam, kuris bus naudojamas cikle.
  • Atlikus komandas tarp 'do' ir 'done', ciklas grįžta į viršų ir pasirenka kitą elementą iš sąrašo ir kartoja visą procesą.
  • Sąraše gali būti tarpais atskirtų skaičių arba eilučių ir pan.

Kai kurie „for ciklo“ pavyzdžiai pateikiami toliau, siekiant parodyti, kaip jie veikia:

Pagrindinis „For Loop“ pavyzdys

Bash scenarijus

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

Išvestis

Bash For Loop

Kad ciklas skaitytų diapazoną

Bash scenarijus

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

Išvestis

Bash For Loop

Kad ciklas nuskaitytų diapazoną didinant / mažinant

Galime padidinti arba sumažinti nurodytą reikšmę pridėdami dar du taškus (..) ir reikšmę, kurią reikia žengti, pvz., {START..END..INCREMENT}. Peržiūrėkite toliau pateiktą pavyzdį:

Dėl prieaugio

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

Išvestis

Bash For Loop

Dėl sumažinimo

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

Išvestis

Bash For Loop

Ciklas skaityti masyvo kintamuosius

Galime naudoti „for loop“, norėdami pakartoti masyvo reikšmes.

Linux paleisti cmd

Sintaksę galima apibrėžti taip:

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

Išvestis

Kiekvienam „masyvo“ elementui vykdomi teiginiai arba komandų rinkinys nuo „do“ iki „atlikta“. Kiekvienas elementas gali būti pasiekiamas kaip „i“ atitinkamos iteracijos cikle. Peržiūrėkite toliau pateiktą pavyzdį, paaiškinantį „for ciklo“ naudojimą masyvo elementams kartoti:

Bash scenarijus

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

Išvestis

Bash For Loop

Kad ciklas skaitytų tuščius tarpus eilutėje kaip žodžių skyriklius

Sintaksę galima apibrėžti taip:

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

Čia g nurodo eilutę.

Teiginiai nuo „padaryti“ iki „atlikta“ vykdomi kiekvienam eilutės „žodžiui“. Peržiūrėkite toliau pateiktą pavyzdį:

java lambda išraiškos

Bash scenarijus

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

Išvestis

Bash For Loop

Kad ciklas perskaitytų kiekvieną eilutės eilutę kaip žodį

Sintaksę galima apibrėžti taip:

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

Čia teiginiai nuo „do“ iki „atlikta“ vykdomi kiekvienai eilutės „eilutei“. Peržiūrėkite toliau pateiktą pavyzdį:

Bash scenarijus

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

Išvestis

Bash For Loop

Pastaba: Vienintelis skirtumas tarp „Cilupai skaityti tarpus eilutėje kaip žodžių skyriklius“ ir „Kiekvienai eilutėje skaityti kaip žodį“ yra dvigubos kabutės aplink eilutės kintamąjį.

For Loop to Read Trijų išraiškų

Trijų išraiškų sintaksė yra labiausiai paplitusi „ciklo“ sintaksė. Pirmoji išraiška nurodo inicijavimo procesą, antroji išraiška nurodo nutraukimą, o trečioji išraiška nurodo padidėjimą arba mažinimą.

Peržiūrėkite toliau pateiktą pavyzdį, kad atspausdintumėte 1–10 skaičių naudodami tris išraiškas su ciklu:

Bash scenarijus

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

Išvestis

Bash For Loop

Ciklai su tęsiniu

Galime naudoti teiginį „tęsti“ kilpoje „for“, kad praleistume bet kurį konkretų teiginį, esant tam tikrai sąlygai. Tai liepia Bash nustoti vykdyti tą konkrečią ciklo iteraciją ir apdoroti kitą iteraciją.

Bash scenarijus

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

Išvestis

Bash For Loop

Išvada

Šioje temoje aptarėme, kaip naudoti „for loop“ teiginį „Bash“ norint atlikti konkrečias užduotis