logo

Bash докато цикъл

В тази тема демонстрирахме как да използваме оператора за цикъл while в Bash Script.

The bash докато цикъл може да се дефинира като оператор на потока на управление, който позволява многократно изпълнение на даден набор от команди, докато приложеното условие се оценява като вярно. Например, можем или да изпълним командата echo много пъти, или просто да прочетем текстов файл ред по ред и да обработим резултата, като използваме цикъл while в Bash.

Синтаксис на Bash While Loop

Bash while цикълът има следния формат:

списък с методи java
 while [ expression ]; do commands; multiple commands; done 

Горният синтаксис е приложим само ако изразът съдържа едно условие.

Ако има множество условия за включване в израза, тогава синтаксисът на цикъла while ще бъде както следва:

 while [ expressions ]; do commands; multiple commands; done 

Едноредовият синтаксис на цикъла while може да се дефинира като:

 while [ condition ]; do commands; done while control-command; do Commands; done 

Има някои ключови моменти от израза 'while loop':

  • Условието се проверява преди изпълнение на командите.
  • Цикълът 'while' също може да извърши цялата работа, която може да направи 'цикълът for'.
  • Командите между 'do' и 'done' се изпълняват многократно, докато условието се оценява като true.
  • Аргументите за цикъл 'while' могат да бъдат булев израз.

Как работи

Цикълът while е цикъл с ограничен вход. Това означава, че условието се проверява преди изпълнение на командите на цикъла while. Ако условието се изчисли като вярно, наборът от команди, следващи това условие, се изпълняват. В противен случай цикълът се прекратява и управлението на програмата се дава на другата команда след израза 'done'.

Bash While Loop Примери

Следват някои примери за bash while цикъл:

Докато цикъл с единично условие

В този пример цикълът while се използва с едно условие в израза. Това е основният пример за цикъл while, който ще отпечата поредица от числа според въведеното от потребителя:

Пример

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Изход

Bash докато цикъл

Докато цикъл с множество условия

Следва пример за цикъл while с множество условия в израза:

Пример

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Изход

gimp промяна на цвета
Bash докато цикъл

Безкраен цикъл докато

Безкраен цикъл е цикъл, който няма край или край. Ако условието винаги се оценява като вярно, то създава безкраен цикъл. Цикълът ще се изпълнява непрекъснато, докато не бъде принудително спрян с помощта на CTRL+C:

Пример

 #!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done 

Можем също да напишем горния скрипт в един ред като:

 #!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done 

Изход

Bash докато цикъл

Тук сме използвали вградената команда (:), която винаги връща true. Можем също да използваме вградената команда true, за да създадем безкраен цикъл точно както по-долу:

Пример

 #!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done 

Този bash скрипт също ще предостави същия резултат като горния безкраен скрипт.

Забележка: Безкрайните цикли могат да бъдат прекратени с помощта на CTRL+C или чрез добавяне на някакъв условен изход в рамките на скрипта.

Докато цикъл с оператор Break

Изявление за прекъсване може да се използва за спиране на цикъла според приложеното условие. Например:

Пример

 #!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done 

Изход

Според скрипта на цикъла е присвоено да повтори десет пъти. Но има условие след осем пъти итерация, което ще прекъсне итерацията и ще прекрати цикъла. След изпълнението на скрипта ще се покаже следният резултат.

Bash докато цикъл

Докато цикъл с оператор Continue

Оператор за продължаване може да се използва за пропускане на итерацията за конкретно условие в цикъла while.

Пример

 #!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.' 

Изход

авл дърво
Bash докато цикъл

Докато цикъл с C-стил

Можем също така да напишем цикъл while в bash скрипт, подобен на цикъл while в езика за програмиране C.

Пример

 #!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>