← До списку лабораторних по Linux
Повний опис / сценарій лабораторної:
Мета: навчитися використовувати if else та цикли for у Bash для автоматизації перевірок.
Крок 1. Створити робочий каталог для скриптів.
Команда: mkdir -p ~/bash_lab; cd ~/bash_lab
Крок 2. Створити файл script_check.sh.
Команда: cat > script_check.sh
Крок 3. Додати shebang та структуру скрипта.
Приклад:
#!/usr/bin/env bash
DIR_LIST="/etc /var/log /tmp"
for d in $DIR_LIST; do
if [ -d "$d" ]; then
echo "Каталог $d існує"
else
echo "Каталог $d не знайдено"
fi
done
Крок 4. Зробити скрипт виконуваним.
Команда: chmod +x script_check.sh
Крок 5. Запустити скрипт та переглянути результат.
Команда: ./script_check.sh
Пояснення: має вивести для кожного каталогу чи він існує.
Крок 6. Додати у скрипт перевірку вільного місця для каталогів на окремих файлових системах.
Пояснення: використайте df -h з фільтрацією по точці монтування.
Крок 7. Додати аргументи командного рядка.
Пояснення: якщо користувач передав список каталогів як аргументи, використайте їх замість значення DIR_LIST.
Крок 8. Додати код повернення який сигналізує про помилки.
Пояснення: якщо хоч один каталог не існує, завершіть скрипт з ненульовим кодом.
Крок 9. Додати коментарі до ключових частин скрипта.
Пояснення: поясніть що робить цикл, що перевіряє умова і як обробляються аргументи.
Крок 10. Міні звіт.
Завдання: опишіть як ви змогли б розширити цей скрипт для регулярного моніторингу вільного місця.