Цикл while в скриптах на Bash выполняется, пока соблюдается некоторое условие. 1 Синтаксис: while условие do выполняемые_команды done
. 1 После while указывается условие, и пока оно истинно, выполняется набор команд между операторами do и done. 1
Пример использования: 1
#!/bin/bash# Скрипт, который использует цикл whilenum=0while [ $num -lt 5 ]do echo 'num равно $num' num=$((num+1))doneecho 'Конец программы'exit 0
В качестве условия выступает выражение [ $num -lt 5 ]
. 1 То есть условие истинно, пока переменная num
меньше 5 (по умолчанию она равна 0). 1 И пока это условие истинно, выполняются две команды: вывод на консоль значение переменной num
и увеличение её значения на 1. 1 Таким образом цикл будет выполняться 5 раз. 1
Цикл until синтаксически похож на while, только обладает обратным действием — выполняет цикл, пока не будет выполняться некоторое условие. 1 Пример использования: 1
#!/bin/bash# Скрипт, который использует цикл untilnum=0until [ $num -eq 5 ]do echo 'num равно $num' num=$((num+1))doneecho 'Конец программы'exit 0
Здесь те же самые команды цикла, только другое условие — $num -eq 5
. 1 То есть проверяется, равна ли переменная num
числу 5. 1 И если равна, скрипт прекращает свою работу. 1
В циклах while и until можно использовать команды break
и continue
для выхода из цикла и завершения текущего прохода. 4