barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

воскресенье, 8 апреля 2012 г.

Добавление переменных окружения в Linux

1) Создаем исполняемый файл в /etc/profile.d:
sudo touch /etc/profile.d/myenv.sh
sudo chmod +x /etc/profile.d/myenv.sh
2) Добавляем в него команды установки необходимых переменных окружения:
MYENV1=myvar1
MYENV2=myvar2
export MYENV1 MYENV2
3) Сохраняем, перезаходим в систему. Всё, переменные окружения доступны:
echo $MYENV1
myvar1
Существует несколько вариантов добавления переменной окружения в Linux, но этот вариант хорош тем, что:
  • Устанавливает переменную окружения для всех пользователей
  • Установка переменной окружения не слетает после обновления /etc/profile при обновлении системы
ЗЫ Не знаю, насколько он подходит для дистрибутивов, отличных от Ubuntu. В некоторых дистрибутивах, вместо создания файлов в /etc/profile.d/ нужно использовать файл /etc/profile.local.

2 комментария:

  1. Спасибо! Только замечание: между названием переменной и "=" нельзя ставить пробелы:
    # cat ./myenv.sh
    ORACLE_HOME = "/usr/lib/oracle/11.2/client/"
    export ORACLE_HOME
    # ./myenv.sh
    ./myenv.sh: line 2: ORACLE_HOME: command not found

    По крайней мере в OpenSUSE так. В остальном там все один в один как в убунте.

    ОтветитьУдалить
    Ответы
    1. Спасибо за замечание, действительно, пробелы там недопустимы. Поправил.

      Удалить