Введение / Зачем это нужно
Bash-скрипты позволяют автоматизировать повторяющиеся задачи в Linux, ускорять работу и снижать вероятность ошибок. В этом гайде вы шаг за шагом научитесь создавать простой Bash-скрипт, делать его исполняемым и запускать. После завершения вы сможете писать базовые скрипты для автоматизации повседневных операций.
Требования / Подготовка
- Операционная система: Linux (проверено на Ubuntu 22.04, Debian 12, Fedora 38).
- Доступ к терминалу с правами обычного пользователя (или root, если скрипт требует повышенных привилегий).
- Базовые знания команд Linux (
ls,cd,nano/vim). - Текстовый редактор для создания файлов (рекомендуется
nano,vimили графический редактор, например VS Code). - Интерпретатор Bash версии 5.0 или выше (обычно предустановлен).
Пошаговая инструкция
Шаг 1: Создайте файл скрипта
Используйте текстовый редактор, чтобы создать новый файл, например myscript.sh. В терминале это можно сделать командой nano myscript.sh.
Шаг 2: Добавьте shebang и сделайте скрипт исполняемым
Откройте файл и в самом начале добавьте строку #!/bin/bash. Затем выведите файл из редактора и выполните команду chmod +x myscript.sh.
Шаг 3: Напишите основной код
Добавьте нужные команды. Например, для вывода сообщения используйте echo "Привет, мир!".
#!/bin/bash
echo "Привет, мир!"
Шаг 4: Запустите скрипт
Перейдите в каталог со скриптом (cd /path/to/script) и выполните ./myscript.sh.
Шаг 5: Добавьте обработку аргументов (необязательно)
Если скрипт должен принимать параметры, используйте $1, $2 и т.д. Пример:
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Использование: $0 <имя>"
exit 1
fi
echo "Привет, $1!"
Шаг 6: Проверьте и отладьте скрипт
Используйте bash -n myscript.sh для синтаксической проверки и bash -x myscript.sh для трассировки выполнения.
Проверка результата
После запуска скрипта убедитесь, что вывод соответствует ожиданиям. Проверьте, что исполнимый бит установлен (-rwxr-xr-x), и что shebang указывает на /bin/bash. Выполните скрипт несколько раз, чтобы убедиться в стабильности работы.
Возможные проблемы
- Скрипт не исполняется: Убедитесь, что выполнена команда
chmod +x. Также проверьте права доступа (ls -l myscript.sh). - Shebang не работает: Проверьте, что
/bin/bashсуществует (which bash). В некоторых минимальных дистрибутивах используйте/usr/bin/env bash. - Отсутствие переменных окружения: Если скрипт использует переменные, экспортируйте их перед запуском (
export VAR=value). - Ошибки синтаксиса: Используйте
bash -n myscript.shдля быстрой проверки перед запуском.