Цикл while — это программная конструкция, которая повторяет данную инструкцию до тех пор, пока не будет выполнено определенное условие. Оболочка Bourne Again в Linux поддерживает эти циклы.
Любой дистрибутив Linux, который поддерживает BASH (а это большинство из них), поддерживает этот вид сценариев. Подсистема Windows для Linux также поддерживает BASH.
Как создать цикл while в BASH
В выбранном вами текстовом редакторе вставьте свой код. Например:
#! / Bin / Баш
х = 1
в то время как [$ x -le 10]
делать
echo "Looped $ x times"
х = $ (($ х + 1))
сделанный
Этот скрипт делает несколько вещей построчно:
- Линия 1: Определяет BASH.
- Линия 2: Устанавливает переменную x равную 1.
- Линия 3: Устанавливает время. В этом случае условие while требует, чтобы переменная x была меньше или равна 10.
- Строки 4 и 7: Начинает часть цикла. Пока условие while остается активным, предложение do выполняет итерации. Блок do заканчивается ключевым словом done. Если условие while не было выполнено, блок do повторяется.
- Строки 5 и 6: Выполняет зацикленную задачу. В этом случае скрипт записывает «Looped x times» в консоль, а затем добавляет 1 к значению x.
Вывод выглядит примерно так:
Соображения для BASH-скриптов во время цикла
Несмотря на иногда неудачный синтаксис, в то время как циклы концептуально просты:
- Условие while всегда логическое — либо true, либо false.
- Вы можете вставить любое количество команд в блок do.
- Если вы не установите условие while, вы создадите бесконечный цикл, который должен быть разорван с помощью Ctrl + C, прерывание.
- Если вы встраиваете условные выражения (операторы if) в блок do, вы можете приблизить некоторую форму проверки работоспособности. Например, если определенное условное значение встречается во время цикла, сломать Ключевое слово останавливает цикл. Аналогично Продолжить Ключевое слово остановит последующие команды и вернется к началу цикла, увеличиваясь по сценарию.