Команды break и continue. Оболочка Bash. Linux.3 мин для чтения

Циклы позволяют запускать одну или несколько команд несколько раз, пока не будет выполнено определенное условие. Однако иногда вам может понадобиться изменить поток цикла и завершить цикл или только текущую итерацию.

В Bash операторы break и continue позволяют контролировать выполнение цикла.

 

Команда break в Bash

Оператор break завершает текущий цикл и передает управление программой команде, следующей за прерванным циклом. Он используется для выхода из for, while, until, или select. Синтаксис оператора break принимает следующую форму:



break [n]

[n] является необязательным аргументом и должен быть больше или равен 1. Когда [n] выполняется, n-й замкнутый цикл завершается. break 1 эквивалентно break.

Чтобы лучше понять, как использовать команду break, давайте взглянем на следующие примеры.

В приведенном ниже сценарии выполнение цикла while будет прервано, если текущий элемент будет равен 2:



i=0while [[ $i -lt 5 ]]do echo "Номер: $i" ((i++)) if [[ $i -eq 2 ]]; then break fidoneecho 'Все Сделано!'

 



Номер: 0Номер: 1Все Сделано!

 

Вот пример использования команды break внутри вложенных циклов for.

Когда аргумент [n] не задан, break завершает внутренний замкнутый цикл. Внешние циклы не заканчиваются:



for i in {1..3}; do for j in {1..3}; do if [[ $j -eq 2 ]]; then break fi echo "j: $j" done echo "i: $i"doneecho 'Все Сделано!'

 



j: 1i: 1j: 1i: 2j: 1i: 3Все Сделано!

 

Если вы хотите выйти из внешнего цикла, используйте break 2. Аргумент 2 говорит break завершить второй цикл:



for i in {1..3}; do for j in {1..3}; do if [[ $j -eq 2 ]]; then break 2 fi echo "j: $j" done echo "i: $i"doneecho 'Все Сделано!'

 



j: 1Все Сделано!

 

Команда continue в Bash

Команда continue пропускает оставшиеся команды внутри тела цикла для текущей итерации и передает управление программой к следующей итерации цикла.

Синтаксис команды continue следующий:



continue [n]

 

Читать  10 примеров команды Netstat в Unix/Linux

Аргумент [n] является необязательным и может быть больше или равно 1. Когда [n] дается, п-й цикл возобновляются. continue 1 эквивалентно continue.

В приведенном ниже примере, когда в текущем цикле элемент равен 2, то оператор continue вернет к началу цикла и продолжить со следующего цикла.



i=0while [[ $i -lt 5 ]]; do ((i++)) if [[ "$i" == '2' ]]; then continue fi echo "Номер: $i"doneecho 'Все Сделано!'

 



Номер: 1Номер: 3Номер: 4Номер: 5Все Сделано!

 

Следующий скрипт печатает числа 1 через 50, которые делятся на 9.

Если число не делится на 9, оператор continue пропускает команду echo и передает управление на следующую итерацию цикла.



for i in {1..50}; do if [[ $(( $i % 9 )) -ne 0 ]]; then continue fi echo "Делится на 9: $i"done

 



Делится на 9: 9Делится на 9: 18Делится на 9: 27Делится на 9: 36Делится на 9: 45

 

Вывод

Циклы являются одним из фундаментальных понятий языков программирования. В языках сценариев, таких как Bash, циклы полезны для автоматизации повторяющихся задач.

Оператор break используется для выхода из текущего цикла. Оператор continueиспользуется для выхода из текущей итерации цикла и начала следующей итерации.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник: AndreyEx.ru

The post Команды break и continue. Оболочка Bash. Linux.3 мин для чтения appeared first on SEO & SMO.