← До фільтрів та технологій

← До списку лабораторних по Linux

Linux Лабораторна 25: Bash умови та цикли

Технологія: Linux

Номер лабораторної: 25 · Рівень: middle

Тема: Розширені Bash скрипти з умовами та циклами

Повний опис / сценарій лабораторної:

Мета: навчитися використовувати 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. Міні звіт.

Завдання: опишіть як ви змогли б розширити цей скрипт для регулярного моніторингу вільного місця.