1. Що таке bash-скрипти?
Якщо ти коли-небудь думав: "Навіщо мені повторювати одні й ті ж команди знову і знову?", то вітаю, ти готовий до bash-скриптів! Bash-скрипти — це спосіб автоматизувати роботу в Linux за допомогою написання послідовності команд в одному файлі. Bash (Bourne Again Shell) — це не просто оболонка, це швейцарський ніж для адміністраторів, програмістів і всіх, хто хоче змусити систему працювати на себе.
Переваги bash-скриптів
- Економія часу: Один раз написав — вісім разів запустив.
- Повторюваність задач: Сценарії виконуються однаково при кожному запуску (ну, якщо ти все написав правильно).
- Автоматизація рутини: Створи налаштовані команди для резервного копіювання, моніторингу ресурсів або управління файлами.
2. Основи створення скриптів
Ну що, починаємо. Bash-скрипт — це просто текстовий файл з набором команд. Але щоб Linux зрозумів, що це скрипт, а не випадкові записи з щоденника, треба дотримуватись певних правил.
Крок 1: Назва та формат файлу
Bash-скрипти зазвичай мають розширення .sh (але це необов’язково). Наприклад:
hello_world.sh
backup_script.sh
Крок 2: Обов’язкова шапка
Кожен bash-скрипт починається зі строки:
#!/bin/bash
Ця строка називається шебанг (shebang) і говорить системі, що для виконання скрипту треба використовувати інтерпретатор /bin/bash. Без неї система просто погляне на ваш скрипт, сумно зітхне і нічого не зробить.
Крок 3: Найпростіший скрипт
Давай створимо і запустимо скрипт, який виводить текст "Привіт, світе!". Зрештою, чому б і ні?
Створюємо файл:
nano hello_world.shДодаємо строки:
#!/bin/bash echo "Привіт, світе!"Робимо файл виконуваним:
chmod +x hello_world.shЗапускаємо скрипт:
./hello_world.sh
На екрані ти побачиш:
Привіт, світе!
3. Робота зі змінними
Змінні — це сховище даних у вашому скрипті. Вони роблять скрипти гнучкими й зручними.
Створення змінних
Щоб оголосити змінну, використовуйте формат:
ІМ'Я_ЗМІННОЇ="значення"
Приклад:
NAME="Linux"
echo "Ласкаво просимо до $NAME!"
Вивід:
Ласкаво просимо до Linux!
Зверніть увагу: між іменем змінної і знаком = не можна ставити пробілів. Якщо поставите, bash подумає, що ви намагаєтесь написати щось дивне, і видасть помилку.
Вбудовані змінні
Bash надає кілька попередньо заданих змінних, наприклад:
$USER— поточний користувач.$HOME— домашня директорія.$PWD— поточна робоча директорія.
Спробуйте такий скрипт:
#!/bin/bash
echo "Привіт, $USER!"
echo "Твоя домашня директорія: $HOME"
echo "Ти зараз працюєш тут: $PWD"
4. Отримання даних від користувача
Іноді скрипту потрібно отримати дані від користувача, щоб працювати. Для цього використовується команда read.
Приклад:
#!/bin/bash
echo "Як тебе звати?"
read NAME
echo "Привіт, $NAME!"
Запустивши скрипт, ви зможете ввести своє ім'я, і скрипт привітає вас персонально.
5. Використання команд всередині скрипту
Bash дозволяє виконувати команди так само, як якщо б ти вводив їх у терміналі.
Наприклад:
#!/bin/bash
echo "Поточна дата і час:"
date
Команда date виведе поточний час і дату, наприклад:
Поточна дата і час:
Mon Oct 30 12:34:56 UTC 2023
Збереження результату команди в змінній
Ти можеш зберегти вивід команди в змінну за допомогою $(). Це зручно для подальшої обробки даних.
Приклад:
#!/bin/bash
CURRENT_DATE=$(date)
echo "Зараз: $CURRENT_DATE"
6. Коментарі в скриптах
Завжди додавайте коментарі, щоб через місяць зрозуміти, що ви взагалі писали. Використовуйте символ # для коментарів:
#!/bin/bash
# Це привітальний скрипт
echo "Ласкаво просимо у світ Bash!"
Коментарі ігноруються інтерпретатором і не впливають на виконання.
7. Приклад
Тепер напишемо скрипт, який перевіряє, чи існує файл.
Створюємо файл:
nano file_checker.shДодаємо код:
#!/bin/bash # Запит імені файлу echo "Введіть ім'я файлу:" read FILE_NAME # Перевіряємо, чи існує файл if [ -f "$FILE_NAME" ]; then echo "Файл $FILE_NAME існує." else echo "Файл $FILE_NAME не знайдено." fiРобимо файл виконуваним і запускаємо:
chmod +x file_checker.sh ./file_checker.shПриклад роботи скрипта:
Введіть ім'я файлу: test.txt Файл test.txt існує.
8. Типові помилки
Робота з bash-скриптами приносить не тільки радість, але й іноді серйозні головоломки. Ось кілька поширених помилок:
Пропущено шебанг.
Без рядка#!/bin/bashваш скрипт може спробувати виконуватись в іншому інтерпретаторі, що призведе до помилок.Неоголошені змінні.
Якщо ви випадково зробили помилку в назві змінної, bash вважатиме її порожньою. Увімкніть режим суворої перевірки за допомогоюset -uна початку скрипту.Пробіли навколо
=.
Ніколи не пишіть так:VARIABLE = "value". Це викличе помилку.Проблеми з правами.
Якщо скрипт не має права на виконання, додайте його черезchmod +x.
Практичне завдання
Напишіть скрипт, який:
- Запитує ім'я користувача.
- Виводить привітальну фразу.
- Показує поточну дату і час.
Напишіть скрипт, який:
- Запитує у користувача назву файлу.
- Створює файл, якщо його не існує, або повідомляє, що файл вже існує.
Тепер ви знаєте основи bash-скриптів! Залишилось навчитися додавати умови і цикли, але це вже тема наступної лекції. Вперед, до автоматизації світу!
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ