Как установить переменную окружения

«Как установить переменную окружения» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В контексте DevOps работа с переменными окружения — это ежедневная практика для конфигурации приложений и скриптов. Способ установки зависит от контекста:

1. Временная переменная (для текущей сессии shell):

export MY_API_KEY="sk_live_12345"
# Теперь её можно использовать в дочерних процессах
echo "Key is $MY_API_KEY"

2. Постоянная переменная для пользователя: Добавляю строку с export в конец файла профиля оболочки.

# Для bash
echo 'export MY_APP_HOME="/opt/myapp"' >> ~/.bashrc
source ~/.bashrc

# Для zsh
echo 'export MY_APP_HOME="/opt/myapp"' >> ~/.zshrc
source ~/.zshrc

3. Глобальная переменная для всех пользователей (используется реже и с осторожностью):

# Запись в системный файл (требует прав root)
echo 'MY_GLOBAL_VAR="value"' | sudo tee -a /etc/environment

4. В сценариях автоматизации (Ansible, Shell-скрипты): Я задаю переменные непосредственно перед вызовом команды, чтобы их область видимости была ограничена.

DATABASE_URL="postgresql://user:pass@localhost/db" python3 my_script.py

# Или в начале скрипта
#!/bin/bash
export DEPLOY_ENV="production"
./deploy.sh

5. В Docker переменные окружения — ключевой механизм конфигурации. Я задаю их в Dockerfile для значений по умолчанию и переопределяю при запуске контейнера.

# Dockerfile
ENV NODE_ENV="production"
# Запуск контейнера с переопределением
docker run -e "NODE_ENV=development" -e "DB_HOST=db" myapp:latest

Проверить значение переменной можно командой echo $VAR_NAME или printenv VAR_NAME.