Синтаксис цикла while:
do
команды
done
Начальный и конечный блоки while определяется ключевыми словами do и done в сценарии bash. Условие завершения определяется в начале цикла. Откройте текстовый редактор, чтобы написать сценарий bash и протестируйте следующие примеры цикла while.
Пример-1: итерации цикла фиксированное количество раз
Создайте файл bash с именем while1.sh , который содержит следующий сценарий.
while [$ n -le 5]
do
echo «Время выполнения $ n»
((n ++))
готово
В этом примере цикл будет повторяться 5 раз и печатать текст, определенный внутри цикла. Следующий вывод появится, если вы запустите while1.sh .
Пример-2: Использование оператора break для условного выхода
break . используется для раннего выхода из цикла в зависимости от определенного условия. Создайте новый файл bash с именем while2.sh со следующим кодом.
while [$ n — le 10]
do
if [$ n == 6]
то
echo «terminated»
break
fi
echo «Position: $ n»
((n ++))
done
В этом примере цикл объявлен для итерации за 10 раз. Согласно сценарию, он завершится после 6-кратной итерации для оператора break. После выполнения сценария появится следующий результат.
Пример-3: Использование оператора continue для пропуска определенного шага
Создайте новый файл bash с именем while3.sh со следующим кодом .
в то время как [$ n -le 5]
do
((n ++))
if [$ n == 3]
, то
continue
fi
echo «Position: $ n»
done
В этом примере цикл будет повторяться 5 раз, но он не распечатает все 5 позиций. Когда цикл будет повторяться 3 раза rd , будет выполнен оператор continue, и цикл перейдет на следующую итерацию без печати текста позиции 3 rd . После выполнения сценария появится следующий результат.
Пример 4: Создание бесконечного цикла
Иногда это требуется для объявления бесконечного цикла для различных целей программирования. Создайте новый файл bash с именем while4.sh и проверьте код бесконечного цикла.
while:
do
printf «Текущее значение n = $ n n»
if [$ n == 3]
затем
echo «хорошо»
elif [$ n == 5]
затем
echo «плохо»
elif [$ n = = 7]
затем
echo «ugly»
elif [$ n == 10]
затем
exit 0
fi
((n ++))
готово
В этом примере для цикла не установлено условие завершения. Этот тип цикла называется бесконечным циклом. Здесь оператор exit используется для выхода из бесконечного цикла. Итак, этот цикл будет повторяться 10 раз, и когда значение итерации станет равным 10, будет выполнен оператор exit для выхода из бесконечного цикла.