Урок 21: Циклы в Bash
Наш скрипт резервного копирования архивирует один каталог. В DevOps их десятки. Мы добавим цикл for, который перебирает их все. `for dir in list; do ... done` выполняет тело цикла по одному разу для каждого значения в списке. done (=do наоборот) закрывает его. `while [ condition ]; do ... done` выпо
for — это как «для каждого». `for dir in /app /etc; do echo $dir; done` означает: выполни echo для /app, затем для /etc. done значит «готово». while — это как «пока» — продолжай выполнять, пока условие истинно.
- цикл for
- for var in list; do ... done — bash присваивает на каждой итерации следующий элемент списка. done закрывает тело цикла. Удобно для обработки списков: серверов, файлов, каталогов.
- цикл while
- while [ condition ]; do ... done — выполняется, пока условие истинно. Часто используется для счёта со счётчиком, чтения строк или ожидания события. Забыл обновить счётчик = бесконечный цикл.