logo

Басх за петљу

У овој теми ћемо разумети употребу за петљу у Басх скриптама.

Као и сваки други програмски језик, басх схелл скриптовање такође подржава 'фор петље' за обављање задатака који се понављају. Помаже нам да понављамо одређени скуп исказа преко низа речи у низу или елемената у низу. На пример, можете или покренути УНИКС команду (или задатак) много пута или само прочитати и обрадити листу команди користећи 'фор петљу'.

Синтакса за петљу

Можемо применити 'фор петљу' на басх скрипту на два начина. Један начин је 'за-у', а други начин је синтакса у стилу ц. Следи синтакса 'фор петље' у басх схелл скриптама:

 for variable in list do commands done 

Ор

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

Постоје неке кључне тачке изјаве 'фор петље':

  • Сваки блок 'фор петље' у басх-у почиње кључном речи 'до' иза које следе команде унутар блока. Наредба 'фор лооп' је затворена кључном речи 'доне'.
  • Број времена за које ће 'фор петља' понављати зависи од декларисаних променљивих листе.
  • Петља ће изабрати једну ставку са листе и доделити вредност променљивој која ће се користити у оквиру петље.
  • Након извршења команди између 'до' и 'доне', петља се враћа на врх и бира следећу ставку са листе и понавља цео процес.
  • Листа може да садржи бројеве или низове итд. одвојене размацима.

Неки од примера 'фор петље' су дати у наставку да би илустровали како функционишу:

Основни пример 'Фор Лооп'

Басх Сцрипт

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

Излаз

Басх за петљу

За петља за читање опсега

Басх Сцрипт

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

Излаз

Басх за петљу

За петља за читање опсега са повећањем/декрементом

Можемо да повећамо или смањимо наведену вредност додавањем још две тачке (..) и вредности за корак по корак, нпр. {СТАРТ..ЕНД..ИНЦРЕМЕНТ}. Погледајте пример у наставку:

Фор Инцремент

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

Излаз

Басх за петљу

За смањење

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

Излаз

Басх за петљу

За петља за читање променљивих низа

Можемо користити 'фор петљу' за понављање вредности низа.

наслеђивање у Ц++

Синтакса се може дефинисати као:

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

Излаз

За сваки елемент у 'низу' се извршавају искази или скуп команди од 'до' до 'доне'. Сваком елементу се може приступити као 'и' унутар петље за одговарајућу итерацију. Погледајте пример у наставку који објашњава употребу 'фор петље' за понављање елемената низа:

Басх Сцрипт

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

Излаз

Басх за петљу

За Петља за читање белих размака у стрингу као сепаратора речи

Синтакса се може дефинисати на следећи начин:

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

овде, стр односи се на низ.

Наредбе од 'до' до 'доне' се извршавају за сваку 'реч' низа. Погледајте пример у наставку:

Басх Сцрипт

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

Излаз

Басх за петљу

За петља за читање сваке линије у стрингу као речи

Синтакса се може дефинисати на следећи начин:

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

Овде се наредбе од 'до' до 'доне' извршавају за сваки 'ред' низа. Погледајте пример у наставку:

басх променљива

Басх Сцрипт

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

Излаз

Басх за петљу

Напомена: Једина разлика између „За петљу за читање размака у стрингу као сепаратора речи“ и „За петљу за читање сваког реда у низу као реч“ су двоструки наводники око променљиве стринга.

Фор Лооп то Реад Тхрее-израз

Синтакса са три израза је најчешћа синтакса 'фор петље'. Први израз се односи на процес иницијализације, други израз се односи на завршетак, а трећи израз се односи на повећање или смањење.

Погледајте пример испод да бисте одштампали 1 до 10 бројева користећи три израза са фор петљом:

Басх Сцрипт

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

Излаз

Басх за петљу

За петљу са наредбом Цонтинуе

Можемо користити наредбу 'цонтинуе' унутар 'фор' петље да прескочимо било коју специфичну наредбу о одређеном услову. Каже Басху да престане да извршава ту одређену итерацију петље и да обради следећу итерацију.

Басх Сцрипт

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

Излаз

Басх за петљу

Закључак

У овој теми смо разговарали о томе како да користимо израз петље фор у Басху за обављање одређених задатака