Menu
Coddy logo textTech

Цикл for

Часть раздела Основы путешествия по Terminal на Coddy — урок 71 из 82.

Иногда вам нужно повторить действие несколько раз. Вместо того чтобы писать одну и ту же команду снова и снова, вы можете использовать цикл for, чтобы перебрать список элементов и выполнить действие для каждого из них.

Вот базовая структура цикла for в Bash:

#!/bin/bash
for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Этот скрипт выводит приветствие для каждого имени в списке. Переменная name поочередно принимает каждое значение: сначала "Alice", затем "Bob", затем "Charlie". Ключевое слово do обозначает начало тела цикла, а done — его конец.

Циклы for особенно эффективны в сочетании с шаблонами (wildcards). Вы можете перебрать все файлы в директории:

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
done

Это позволит перебрать каждый файл .txt в текущем каталоге. На каждой итерации переменная file содержит имя текущего файла, что позволяет автоматически выполнять операции с каждым файлом.

Вы также можете перебирать диапазон чисел с помощью раскрытия фигурных скобок (brace expansion):

#!/bin/bash
for i in {1..5}; do
    echo "Number: $i"
done

Это выведет числа от 1 до 5. Циклы for превращают повторяющиеся задачи всего в несколько строк кода, делая ваши скрипты более эффективными и простыми в обслуживании.

challenge icon

Задание

Легко

Создайте скрипт командной строки с именем countdown.sh, который использует цикл for для вывода обратного отсчета от 5 до 1.

Ваш скрипт должен:

  1. Начинаться со строки shebang (#!/bin/bash)
  2. Использовать цикл for с раскрытием скобок для перебора чисел от 5 до 1
  3. Выводить каждое число с новой строки в формате: Countdown: [number]

Сделайте скрипт исполняемым и запустите его. Ваш вывод должен быть следующим:

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

Подсказка: Используйте {5..1} для создания убывающего диапазона. Внутри цикла используйте echo "Countdown: $i", где i — ваша переменная цикла.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы