Как написать Bash WHILE-Loops

Цикл while — это программная конструкция, которая повторяет данную инструкцию до тех пор, пока не будет выполнено определенное условие. Оболочка Bourne Again в Linux поддерживает эти циклы.

Любой дистрибутив Linux, который поддерживает BASH (а это большинство из них), поддерживает этот вид сценариев. Подсистема Windows для Linux также поддерживает BASH.

Как создать цикл while в BASH

нано на WSL

В выбранном вами текстовом редакторе вставьте свой код. Например:

#! / 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

Соображения для BASH-скриптов во время цикла

Несмотря на иногда неудачный синтаксис, в то время как циклы концептуально просты:

  • Условие while всегда логическое — либо true, либо false.
  • Вы можете вставить любое количество команд в блок do.
  • Если вы не установите условие while, вы создадите бесконечный цикл, который должен быть разорван с помощью Ctrl + C, прерывание.
  • Если вы встраиваете условные выражения (операторы if) в блок do, вы можете приблизить некоторую форму проверки работоспособности. Например, если определенное условное значение встречается во время цикла, сломать Ключевое слово останавливает цикл. Аналогично Продолжить Ключевое слово остановит последующие команды и вернется к началу цикла, увеличиваясь по сценарию.
Ссылка на основную публикацию