Linux

Основы shell-скриптинга в Linux: простые команды и автоматизация задач за 10 минут

В этом гайде вы научитесь создавать простые shell-скрипты, использовать базовые конструкции и автоматизировать повседневные задачи в Linux. После прочтения вы сможете писать скрипты, которые экономят время и упрощают работу с системой.

Обновлено 12 июля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04Debian 12Fedora 38openSUSE Leap 15

Введение / Зачем это нужно

Shell-скриптинг — это мощный инструмент для автоматизации повторяющихся задач в Linux. Используя Bash, вы можете объединять команды в исполняемые файлы, которые работают быстро и повторяемо. В этом гайде вы освоите базовые конструкции: создание исполняемого скрипта, работу с переменными, условную логику, циклы и функции. После прочтения вы сможете писать простые скрипты, которые сэкономят время и упростят повседневную работу с системой.

Требования / Подготовка

  • Любая современная дистрибутива Linux (Ubuntu 22.04, Debian 12, Fedora 38, openSUSE Leap 15 и др.).
  • Доступ к терминалу с правами обычного пользователя (для выполнения скриптов не требуются права root, но для некоторых системных задач они могут понадобиться).
  • Базовые знания командной строки Linux (знание путей, символов подчеркивания и пробелов в именах файлов).

Пошледовая инструкция

Шаг 1: Создание исполняемого файла

Создайте файл script.sh и добавьте shebang в начале, чтобы Bash интерпретировал его:

cat > script.sh << 'EOF'
#!/bin/bash
echo 'Привет, мир!'
EOF

Сделайте файл исполняемым:

chmod +x script.sh

Шаг 2: Запуск скрипта

Запустите скрипт напрямую, используя ./:

./script.sh

В результате вы увидите:

Привет, мир!

Шаг 3: Использование переменных

Переменные позволяют хранить и повторно использовать данные:

name='Alice'
echo "Привет, $name!"

Для многословных значений используйте кавычки:

msg="Добро пожаловать в Linux"
echo "$msg"

Шаг 4: Основы условной логики

Условия позволяют ветвить выполнение скрипта:

value='production'
if [ "$value" = "production" ]; then
  echo "Режим: продакшн"
else
  echo "Режим: разработка"
fi

Шаг 5: Создание цикла

Циклы повторяют действия несколько раз:

for i in 1 2 3 4 5; do
  echo "Итерация $i"
done

Шаг 6: Добавление функций

Функции упрощают реиспользование кода:

greet() {
  local name=$1
  echo "Привет, $name!"
}
greet "Bob"

Проверка результата

Убедитесь, что скрипт работает как ожидается:

  1. Проверьте синтаксис: bash -n script.sh
  2. Запустите скрипт и сравните вывод с ожидаемым результатом.
  3. Если нужны дополнительные отладочные данные, добавьте set -x в начало скрипта.

Возможные проблемы

  • Команда не найдена (command not found) – убедитесь, что команды установлены (sudo apt-get install <package>).
  • Доступ запрещён – скрипт может требовать прав root для записи в системные каталоги; используйте sudo.
  • Неправильные кавычки – смешение кавычек приводит к необычному поведению; используйте одинарные кавычки для статичных строк и двойные для переменных.

Теперь у вас есть базовый набор навыков для написания полезных и автоматизированных shell-скриптов в Linux. Удачного кодирования!

Часто задаваемые вопросы

С чего начать написание первого shell-скрипта?
Как передать параметры скрипту при запуске?
Почему скрипт выдает ошибку «команда не найдена»?
Как отладить ошибки в скрипте?

Полезное

Создание исполняемого файла
Запуск скрипта
Использование переменных
Основы условной логики
Создание цикла
Добавление функций

Эта статья помогла вам решить проблему?