✅ Решения — Занятие 26

К оглавлению урока

⚡ Решения кратко

Задание 1 (счётчик a..z):

#!/bin/bash
for run in {a..z}; do echo $run; sleep .5; done
echo "DONE"

Ответы экспресс-опроса: Запускать из любого места → добавить в $PATH; переменная скрипта не глобальная; имя на русском — недопустимо; PyCharm = Git-клиент (commit/push/branches); fork = изолированная копия; PR = предложение изменений.

Ответы на экспресс-опрос

Вопрос Ответ
Запуск скрипта из любого места Добавить путь к директории в $PATH или поместить скрипт в /usr/local/bin
Переменная из скрипта — глобальная? Нет. Переменная живёт только внутри дочернего процесса. Нужен source script.sh для текущего shell.
Где искать директории для скрипта? echo $PATH — показывает все директории в PATH
Имя скрипта на русском? Недопустимо — только латиница, цифры, - и _
Основные операции Git в PyCharm clone, add, commit, push, pull, merge, rebase, ветки, история
Создать ветку в PyCharm Правый нижний угол → имя ветки → New Branch
Создать коммит в PyCharm Git → Commit (Ctrl+K) → выбрать файлы → сообщение → Commit and Push
Зачем GitHub fork? Создать независимую копию репозитория для безопасного внесения изменений и PR
Зачем Pull Request? Предложить изменения, пройти code review и обсуждение перед слиянием в основную ветку

Решение задания 1 — счётчик {a..z}

Файл: /opt/ГРУППА/ПАПКА/script222.sh

#!/bin/bash

for run in {a..z}
do
    echo $run
    sleep .5
done
echo "DONE"

Что делает каждая строка

  • for run in {a..z} — цикл по диапазону букв a..z (26 итераций)
  • echo $run — вывести текущую букву
  • sleep .5 — пауза 0.5 секунды (половина секунды)
  • echo "DONE" — сообщение после завершения цикла

Ожидаемый вывод

a
b
c
...
z
DONE

Запуск:

chmod +x script222.sh
./script222.sh

Решение задания 2 — форк и PR

Подробные шаги описаны в разделе Задания → Задание 2. Ключевые команды терминала:

git clone <URL-вашего-форка>
cd <repo-name>
git checkout -b feature/my-contribution
# ... создать файл ...
git add .
git commit -m "Add contribution"
git push origin feature/my-contribution

Затем на GitHub: Compare & pull request → Create pull request.