Олег Марков
Переменные в Bash — полный практический разбор
Автор
Введение
Переменные в Bash — это основа любого скрипта. Через них передают пути, параметры окружения, промежуточные вычисления и флаги режима работы.
Главная сложность: в Bash легко написать код, который «иногда работает», если неправильно использовать кавычки и подстановки.
Базовый синтаксис
name="Alice"
port=5432
is_prod=true
Использование:
echo "$name"
echo "DB port: $port"
Важно: в Bash нельзя ставить пробелы вокруг =.
# неверно
name = "Alice"
# верно
name="Alice"
Когда нужны фигурные скобки
file="report"
echo "${file}.txt"
Кавычки: один из главных источников ошибок
"..."— подстановка переменных работает.'...'— всё воспринимается буквально.- без кавычек — опасно при пробелах и спецсимволах.
path="/tmp/my folder"
rm -rf "$path"
Значения по умолчанию
log_level="${LOG_LEVEL:-info}"
region="${1:-eu-central-1}"
Проверка обязательной переменной
: "${DB_HOST:?Нужно задать DB_HOST}"
readonly для констант
readonly APP_NAME="payments-worker"
readonly RETRY_LIMIT=3
Итоги
Корректная работа с переменными — это фундамент надёжности Bash-скрипта. Всегда экранируй переменные в кавычках и задавай дефолты там, где это уместно.