TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #3962 1.59K
🌀 Шпаргалка по циклам в Bash

Чтобы не держать в голове всю синтаксическую магию, собрали удобные примеры: for, while, until, диапазоны, чтение файлов и даже управление потоком с break и continue.

Цикл for в Bash:
for i in /etc/*; do
echo $i
done

# То же самое (альтернативный синтаксис), также работает с другими видами циклов
for i in /etc/*
do
echo $i
done


Цикл for, как в C:
for ((i = 0; i < 100; i++)); do
echo $i
done

# альтернативный синтаксис
for ((i = 0; i < 100; i++))
do
echo $i
done


Цикл for с диапазонами:
for i in {1..10}; do
echo "Number: $i"
done

# С шагом
# ⇒ {НАЧАЛО..КОНЕЦ..ШАГ}
for i in {5..50..5}; do
echo "Number: $i"
done


Цикл while в Bash
:
# увеличение значения
i=1
while [[ $i -lt 4 ]]; do
echo "Number: $i"
((i++))
done

# уменьшение значения
i=3
while [[ $i -gt 0 ]]; do
echo "Number: $i"
((i--))
done


Цикл while true:
# длинная форма while true
while true; do
# TODO
# TODO
done

# или короткая запись
while :; do
# TODO
# TODO
done


Чтение файлов:
# использование пайпов
cat file.txt | while read line
do
echo $line
done

# ИЛИ использование перенаправления ввода
while read line; do
echo $line
done < "/path/to/txt/file"


Оператор continue:
# команда seq может использоваться для генерации диапазонов
for number in $(seq 1 3); do
if [[ $number == 2 ]]; then
continue
fi
echo "$number"
done


Оператор break:
for number in $(seq 1 3); do
if [[ $number == 2 ]]; then
# Пропустить оставшуюся часть цикла или выйти из цикла
break
fi
# Здесь выведется только 1
echo "$number"
done


Цикл until:
# увеличение значения
count=0
until [ $count -gt 10 ]; do
echo "$count"
((count++))
done

# уменьшение значения
count=10
until [ $count -eq 0 ]; do
echo "$count"
((count--))
done


Код готов к копипасте. Берите и используйте.

🐸Библиотека devops'a

#буст
  • 👍 8
More from @devopsslib
  1. Sep 29, 2026Для тех, кто работает с Kubernetes и облачной инфраструктурой, в октябре намечается отличн…
  2. Sep 25, 2026🤖 ИИ-агенту теперь можно поставить задачу прямо в GitLab — и не расписывать каждый следую…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Sep 15, 2026👩‍💻 Bash-скрипт для мониторинга сервисов Полноценный мониторинг вроде Zabbix или Prometh…
  5. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  6. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →