Bash-скрипт — це текстовий файл, що містить послідовність команд для командної оболонки Bash, яка є стандартною для більшості Linux-дистрибутивів та macOS.
Створення Bash-скрипта
nano script.sh # створити файл у редакторі nano
vim script.sh # або через vim
touch script.sh # створити порожній файл
Shebang (обов’язково на початку)
Перший рядок скрипту, який вказує системі, який інтерпретатор використовувати для виконання файлу.
#!/bin/bash
# або більш універсально
#!/usr/bin/env bash
Надання прав на виконання
chmod +x script.sh
Запуск скрипта
./script.sh # запуск як виконуваного файлу
bash script.sh # запуск через bash
sh script.sh # запуск через sh (обережно: не всі фічі Bash підтримуються)
Передача аргументів у скрипт
./script.sh arg1 arg2
# всередині скрипта:
echo $1 # перший аргумент
echo $2 # другий аргумент
echo $@ # всі аргументи
echo $# # кількість аргументів
Обробка аргументів
if [ $# -eq 0 ]; then
echo "Немає аргументів"
fi
Отримання статусу виконання
echo $? # код останньої команди (0 = успіх)
Використання змінних середовища
echo $HOME
echo $PATH
MY_VAR="test"
export MY_VAR
Виконання команд всередині скрипта
DATE=$(date)
echo "Сьогодні: $DATE"
Підключення інших скриптів
source other.sh
# або
. other.sh
Автоматичний запуск (cron)
crontab -e
# приклад: запуск щодня о 2:00
0 2 * * * /path/to/script.sh
Вивід логів
./script.sh > output.log # стандартний вивід
./script.sh 2> error.log # помилки
./script.sh &> all.log # все разом
Debug режим
bash -x script.sh # показує виконання по кроках
Безпечний режим
#!/bin/bash
set -e # зупинити скрипт при помилці
set -u # помилка при використанні неініціалізованих змінних
set -o pipefail # помилки в pipe
Перевірка існування файлів перед запуском
if [ ! -f "config.txt" ]; then
echo "Файл не знайдено"
exit 1
fi
Типова структура скрипта
#!/usr/bin/env bash
set -e
# змінні
NAME="John"
# функції
hello() {
echo "Привіт $1"
}
# основна логіка
echo "Старт скрипта"
hello $NAME
echo "Кінець"
Коментарі
Дописати коментар