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

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

Ответ

В Linux есть несколько способов добавления переменных окружения, которые я использую в зависимости от задачи:

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

export MY_VAR="some_value"

2. Постоянная для пользователя (добавляется в профиль):

echo 'export MY_VAR="some_value"' >> ~/.bashrc
source ~/.bashrc  # или перезапустить терминал

3. Глобальная для всех пользователей:

# В Debian/Ubuntu (без export)
echo 'MY_VAR="some_value"' | sudo tee -a /etc/environment

# Или через профиль системы
sudo echo 'export MY_VAR="some_value"' >> /etc/profile.d/custom.sh

4. Для конкретного процесса:

MY_VAR="value" ./my_script.sh

Ключевые файлы, которые я проверяю:

  • ~/.bashrc — для пользовательских переменных в bash
  • ~/.profile или ~/.bash_profile — для логин-сессий
  • /etc/environment — системные переменные (только VAR=value, без export)
  • /etc/profile.d/*.sh — кастомные системные скрипты

В DevOps-контексте я чаще всего настраиваю переменные через:

  • Файлы окружения (.env) для приложений
  • Конфигурацию systemd юнитов (Environment= в [Service])
  • CI/CD переменные (GitLab CI, GitHub Actions)
  • Оркестраторы (Kubernetes ConfigMaps/Secrets, Docker Compose)