Циклы в bash
Обновлено 3 июля 2026 г.
Цикл повторяет команды. for идёт по списку слов, while read - по строкам потока.
for x in alpha beta; do echo "$x"; done
while read -r line; do
echo "line: $line"
done < ~/data/words.txtКак это устроено: почему не for x in $(cat файл)
Запись
for x in $(cat file)сначала читает весь файл, а потом bash режет его по пробелам и раскрывает шаблоны. Строка с пробелом развалится на части, а символ*превратится в список файлов.while read -r lineчитает ровно по строке и ничего не раскрывает - это правильный способ обходить строки.
Где применяется
Этот приём нужен в уроке Bash: пишем скрипты.