📝 Задания — Занятие 26

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

⚡ Задания кратко

Задание 1: Скрипт-счётчик от a до z с паузой 0.5 сек.

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

Задание 2: Форкнуть репо другого учащегося, открыть PR.

Экспресс-опрос

Вопросы из источника (Lecture 15 — скрипты, Lecture 16 — PyCharm).

По занятию 24 (скрипты мониторинга)

  1. Как сделать запуск скрипта из любого места в системе?
    Ответ

    Добавить путь к директории со скриптом в переменную $PATH, либо поместить скрипт в одну из директорий, уже входящих в $PATH (например, /usr/local/bin). Также скрипт должен быть исполняемым: chmod +x script.sh.

  2. Если создать переменную в файле скрипта, станет ли она переменной по умолчанию (глобальной переменной окружения)?
    Ответ

    Нет. Переменная, объявленная внутри скрипта, существует только в дочернем процессе и не попадает в текущий shell. Чтобы переменная стала доступна в текущем окружении, нужно выполнить скрипт через source script.sh или . script.sh.

  3. Как посмотреть, куда нужно записать файл скрипта, чтобы он запускался как программа по умолчанию?
    Ответ

    Выполнить команду echo $PATH — она покажет все директории, перечисленные в переменной PATH. Скрипт нужно поместить в одну из них и сделать исполняемым.

  4. Допускается ли писать название файла скрипта на русской раскладке клавиатуры?
    Ответ

    Нет. Имена файлов и скриптов должны содержать только латинские символы, цифры, дефисы и подчёркивания. Русские символы в именах файлов вызывают проблемы совместимости в разных окружениях, терминалах и при передаче по сети.

По занятию 25 (PyCharm + Git)

  1. Какие основные операции Git вы можете выполнять с помощью плагина Git в PyCharm?
    Ответ

    Через плагин Git в PyCharm доступны: git clone, создание веток, git add, git commit, git push, git pull, git merge, git rebase, просмотр истории коммитов.

  2. Как создать новую ветку и переключиться на неё с помощью плагина Git в PyCharm?
    Ответ

    Правый нижний угол PyCharm → имя текущей ветки → New Branch → ввести имя → ОК. PyCharm создаёт ветку и автоматически переключается на неё (аналог git checkout -b branch-name).

  3. Как создать новый коммит с помощью плагина Git в PyCharm?
    Ответ

    Меню Git → Commit (или Ctrl+K на Windows/Linux) → в панели выбрать изменённые файлы → ввести сообщение коммита → кнопка Commit (только коммит) или Commit and Push (коммит + отправка).

  4. Зачем мы используем GitHub fork?
    Ответ

    Fork создаёт копию чужого репозитория в вашём аккаунте на GitHub. Это позволяет свободно вносить изменения, не затрагивая оригинальный репозиторий, и предлагать изменения через Pull Request. Типичное использование: участие в open-source проектах или учебных репозиториях.

  5. Зачем мы открываем Pull Request?
    Ответ

    Pull Request — это предложение принять изменения из вашей ветки (или форка) в другую ветку (обычно main/master исходного репозитория). PR позволяет: провести code review, обсудить изменения, запустить автоматические проверки (CI), и только потом слить изменения.

Задания для закрепления

Задание 1 — Скрипт-счётчик с {a..z}

Создать скрипт на сервере linux.itcareerhub.de (в вашей папке /opt/ГРУППА/ПАПКА/), который:

  • Делает счётчик и выводит его на экран (считает от a до z с интервалом в полсекунды)
  • Пишет слово DONE когда закончит

Путь к файлу скрипта: /opt/ВАША_ГРУППА/ВАША_ПАПКА/script222.sh

#!/bin/bash

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

Запустить:

chmod +x /opt/ВАША_ГРУППА/ВАША_ПАПКА/script222.sh
/opt/ВАША_ГРУППА/ВАША_ПАПКА/script222.sh
Интересная особенность bash: Диапазон {a..z} работает не только с числами, но и с буквами. Bash последовательно перечислит все буквы латинского алфавита от a до z.

Задание 2 — Форк и PR

Создайте форк репозитория другого учащегося. Откройте Pull Request из своего репозитория в начальный.

  1. Попросите одногруппника поделиться ссылкой на его репозиторий на GitHub
  2. Перейдите на страницу его репозитория → Fork
  3. Клонируйте форк: git clone <URL-вашего-форка>
  4. Создайте ветку: git checkout -b feature/my-contribution
  5. Добавьте или измените файл, зафиксируйте: git add . && git commit -m "Add contribution"
  6. Отправьте: git push origin feature/my-contribution
  7. GitHub → ваш форк → Pull Requests → New pull request → выбрать ветку → Create PR