Разбор ДЗ 18: permission_checker.sh
Задание
Работаем на сервере linux.itcareerhub.de. Создать скрипт permission_checker.sh, сделать его исполняемым. Скрипт получает список прав на файлы внутри директории /opt/ВАШАГРУППА, и если среди них есть файлы .sh, то добавляет им права на исполнение.
Решение (из источника)
# permission_checker.sh
#!/bin/bash
# Получаем список всех файлов в директории
FILE_LIST=$(ls -p /opt/YOURGROUP | grep -v /)
# Перебираем каждый файл
for FILE in $FILE_LIST
do
# Проверяем, является ли файл .sh
if [[ "$FILE" == *.sh ]]; then
# Добавляем права на исполнение
chmod +x "/opt/YOURGROUP/$FILE"
echo "Added exec permission: $FILE"
fi
done
echo "Done! Exec permissions added successfully."
Как запустить
# Создаём скрипт
nano permission_checker.sh
# Делаем исполняемым
chmod +x permission_checker.sh
# Запускаем
./permission_checker.sh
Разбор ДЗ 19: feature + amend + merge
Задание
Создать репозиторий GitHub с .gitignore; склонировать; создать ветку feature с изменениями в README.md и .gitignore; запушить; git commit --amend (добавить слово ammend); git merge feature на main; history > history.txt + commit + push.
Решение (из источника)
# 1. Создаём и клонируем репозиторий
git clone git@github.com:USERNAME/homework12.git
cd homework12
# 2. Создаём ветку feature
git checkout -b feature
# 3. Вносим изменения и коммитим
echo "## Feature changes" >> README.md
echo "*.log" >> .gitignore
git add README.md .gitignore
git commit -m "Add feature changes"
# 4. Пушим feature
git push origin feature
# 5. git commit --amend (добавляем слово ammend)
git commit --amend -m "Add feature changes ammend"
git push --force origin feature # нужен force т.к. изменился хэш
# 6. Переключаемся на main и делаем merge
git checkout main
git merge feature
# 7. Создаём history.txt и пушим
history > history.txt
git add history.txt
git commit -m "Add command history"
git push origin main