JavaRush /Курси /Docker SELF /Вступ до bash-скриптів: синтаксис, змінні, команди

Вступ до bash-скриптів: синтаксис, змінні, команди

Docker SELF
Рівень 3 , Лекція 3
Відкрита

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: Найпростіший скрипт

Давай створимо і запустимо скрипт, який виводить текст "Привіт, світе!". Зрештою, чому б і ні?

  1. Створюємо файл:

    nano hello_world.sh
    
  2. Додаємо строки:

    #!/bin/bash
    echo "Привіт, світе!"
  3. Робимо файл виконуваним:

    chmod +x hello_world.sh
    
  4. Запускаємо скрипт:

    ./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. Приклад

Тепер напишемо скрипт, який перевіряє, чи існує файл.

  1. Створюємо файл:

    nano file_checker.sh
    
  2. Додаємо код:

    #!/bin/bash
    
    # Запит імені файлу
    echo "Введіть ім'я файлу:"
    read FILE_NAME
    
    # Перевіряємо, чи існує файл
    if [ -f "$FILE_NAME" ]; then
        echo "Файл $FILE_NAME існує."
    else
        echo "Файл $FILE_NAME не знайдено."
    fi
  3. Робимо файл виконуваним і запускаємо:

    chmod +x file_checker.sh
    ./file_checker.sh
    
  4. Приклад роботи скрипта:

    Введіть ім'я файлу:
    test.txt
    Файл test.txt існує.
    

8. Типові помилки

Робота з bash-скриптами приносить не тільки радість, але й іноді серйозні головоломки. Ось кілька поширених помилок:

  1. Пропущено шебанг.
    Без рядка #!/bin/bash ваш скрипт може спробувати виконуватись в іншому інтерпретаторі, що призведе до помилок.

  2. Неоголошені змінні.
    Якщо ви випадково зробили помилку в назві змінної, bash вважатиме її порожньою. Увімкніть режим суворої перевірки за допомогою set -u на початку скрипту.

  3. Пробіли навколо =.
    Ніколи не пишіть так: VARIABLE = "value". Це викличе помилку.

  4. Проблеми з правами.
    Якщо скрипт не має права на виконання, додайте його через chmod +x.

Практичне завдання

  1. Напишіть скрипт, який:

    • Запитує ім'я користувача.
    • Виводить привітальну фразу.
    • Показує поточну дату і час.
  2. Напишіть скрипт, який:

    • Запитує у користувача назву файлу.
    • Створює файл, якщо його не існує, або повідомляє, що файл вже існує.

Тепер ви знаєте основи bash-скриптів! Залишилось навчитися додавати умови і цикли, але це вже тема наступної лекції. Вперед, до автоматизації світу!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ