Bash: задать и прочитать переменную окружения
В Bash переменную задают как NAME=value, а чтобы передать её дочернему процессу, используют export NAME. Значение доступно в текущем shell; после закрытия терминала оно исчезает, если не задано в профиле или конфигурации сервиса.
Создать, экспортировать и прочитать
APP_ENV=development
export APP_ENV
printf '%s\n' "$APP_ENV" # developmentЭквивалентная короткая запись — export APP_ENV=development.
Передать переменную только одной команде
APP_ENV=test python app.pyТакое присваивание доступно дочерней команде, но не меняет значение переменной в текущем shell.
Удалить переменную
unset APP_ENVКоманда | Действие |
|---|---|
| Создать shell-переменную |
| Экспортировать переменную в дочерние процессы |
| Показать окружение процесса |
| Удалить переменную из shell |
Почему программа не видит переменную?
Убедитесь, что она экспортирована и задана в том же окружении, где запускается процесс. source .env не является универсальным безопасным форматом: файл должен содержать совместимый shell-код и быть доверенным.