Bash: задать и прочитать переменную окружения

Категория: Bash · Язык: Bash · Обновлено:

В Bash переменную задают как NAME=value, а чтобы передать её дочернему процессу, используют export NAME. Значение доступно в текущем shell; после закрытия терминала оно исчезает, если не задано в профиле или конфигурации сервиса.

Создать, экспортировать и прочитать

Bash
APP_ENV=development
export APP_ENV
printf '%s\n' "$APP_ENV" # development

Эквивалентная короткая запись — export APP_ENV=development.

Передать переменную только одной команде

Bash
APP_ENV=test python app.py

Такое присваивание доступно дочерней команде, но не меняет значение переменной в текущем shell.

Удалить переменную

Bash
unset APP_ENV

Команда

Действие

NAME=value

Создать shell-переменную

export NAME

Экспортировать переменную в дочерние процессы

env

Показать окружение процесса

unset NAME

Удалить переменную из shell

Почему программа не видит переменную?

Убедитесь, что она экспортирована и задана в том же окружении, где запускается процесс. source .env не является универсальным безопасным форматом: файл должен содержать совместимый shell-код и быть доверенным.