Введение
Bash — это мощный интерпретатор командной строки в Linux, который позволяет автоматизировать повторяющиеся задачи. Написание простого Bash-скрипта занимает всего несколько минут, но при этом вы получаете инструмент, который может ускорить вашу работу и уменьшить количество рутинных действий. В этом руководстве мы создадим рабочий скрипт с нуля, шаг за шагом добавляя необходимые элементы.
Требования
- Bash 5.x (стандартный в современных дистрибутивах Linux)
- Доступ к консоли с правами чтения/записи в целевом каталоге
- Базовые знания команд Linux (навигация, редактирование файлов)
Шаг 1: Создайте скрипт
Сначала создайте файл со скриптом. Выберите подходящее имя, например my_script.sh, и поместите его в каталог, к которому у вас есть доступ (например, ~/scripts).
mkdir -p ~/scripts
cd ~/scripts
touch my_script.sh
Шаг 2: Добавьте shebang
Первая строка любого Bash-скрипта должна указывать интерпретатор. Добавьте строку #!/bin/bash в начало файла.
# Редактор: используйте любой текстовый редакатор (nano, vim, nano <file>)
# Первая строка:
#!/bin/bash
💡 Совет: Если вы используете
nano, вы можете добавить shebang с помощьюCtrl+O, затемEnter, и сохранить файл сCtrl+X.
Шаг 3: Напишите основную логику
Теперь добавьте полезный код. В качестве примера мы реализуем простой цикл, который выводит пять строк.
# Пример цикла for: вывод строк "Строка 1" … "Строка 5"
for i in {1..5}; do
echo "Строка $i"
done
Шаг 4: Сделайте скрипт исполняемым
После редактирования сделайте скрипт исполняемым. Это позволит запускать его напрямую.
chmod +x my_script.sh
⚠️ Важно: Без флага
+xскрипт можно запустить только черезbash my_script.sh.
Шаг 5: Запустите скрипт
Теперь вы можете выполнить скрипт. Два распространённых способа:
# Способ 1: напрямую (работает, если установлен флаг исполняемого файла)
./my_script.sh
# Способ 2: через интерпретатор Bash
bash my_script.sh
Оба варианта дадут одинаковый результат: вывод пяти строк.
Шаг 6: Добавьте обработку ошибок
Для надежности добавьте базовую обработку ошибок. Команда set -e заставит скрипт прерываться при ошибке выполнения любой команды.
# Прерывать выполнение при ошибке
set -e
# Пример безопасного удаления файла (раскомментируйте для теста)
# rm -f /tmp/example_file
Если вы хотите вручную проверить код возврата, используйте конструкцию if:
# Пример проверки кода возврата команды
cp source.txt dest.txt
if [ $? -eq 0 ]; then
echo "Копирование успешно"
else
echo "Ошибка копирования"
fi
Проверка результата
Запустите скрипт и убедитесь, что вывод соответствует ожиданиям:
Строка 1
Строка 2
Строка 3
Строка 4
Строка 5
Если вы видите это, скрипт работает корректно.
Возможные проблемы
- Shebang отсутствует или неправилен – скрипт может быть выполнен другим интерпретатором или будет отклонён. Убедитесь, что первая строка точно
#!/bin/bash. - Отсутствие прав на выполнение – если
chmod +xне был выполнен, запуск через./my_script.shвызовет ошибкуPermission denied. Используйтеbash my_script.shв качестве альтернативы. - Ошибки синтаксиса – Bash выведет сообщение об ошибке, например
my_script.sh: command not foundилиsyntax error. Проверьте скрипт с помощьюbash -n my_script.sh, чтобы выявить проблемы без его запуска.