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



Я запускаю RHEL6, и я экспортировал переменную окружения следующим образом:



export DISPLAY=:0


эта переменная теряется при закрытии CMD. Как мне постоянно добавлять это, чтобы это значение переменной всегда существовало с конкретным пользователем?

646   5  

5 ответов:

вы можете добавить его в файл конфигурации оболочки, например $HOME/.bashrc или более глобально в /etc/environment.

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

  • ~/.bashrc

    При открытии любого окна терминала этот файл будет запущен. Поэтому, если вы хотите иметь постоянную переменную окружения во всех окнах вашего терминала, вы должны добавить следующую строку в конце этого файла:
    экспорт дисплея=0

  • ~/.профиль

  • То же, что и bashrc вы должны поместить указанную командную строку в конец этого файла, чтобы иметь переменную среды в каждом имени входа вашей ОС.

  • / etc / environment

  • Если вы хотите, чтобы ваша переменная среды была в каждом окне или приложении (а не только в окне терминала), вам нужно отредактировать этот файл. Добавьте следующую команду в конце этого файла:
    DISPLAY=0
    Обратите внимание, что в этом файле вам не нужно писать экспорт команда

как правило, вы должны перезагрузить компьютер, чтобы применить эти изменения. Но вы можете применить изменения в bashrc и профиль на эти команды:

$ source ~/.bashrc
$ source ~/.profile

но / etc / environment у вас нет выбора, кроме перезагрузки ( насколько я знаю )

  • Простое Решение

  • Я написал простой скрипт для этой процедуры, чтобы сделать все эти работа. Вам просто нужно установить имя и значение переменной среды.
    #!/bin/bash
    echo "Enter variable name: "
    read variable_name
    echo "Enter variable value: "
    read variable_value
    echo "adding " $variable_name " to environment variables: " $variable_value
    echo "export "$variable_name"="$variable_value>>~/.bashrc
    echo $variable_name"="$variable_value>>~/.profile
    echo $variable_name"="$variable_value>>/etc/environment
    source ~/.bashrc
    source ~/.profile
    echo "do you want to restart your computer to apply changes in /etc/environment file? yes(y)no(n)"
    read restart
    case $restart in
        y) sudo shutdown -r 0;;
        n) echo "don't forget to restart your computer manually";;
    esac
    exit
    

    Сохраните эти строки в shfile затем сделайте его исполняемым и просто запустить его!

    добавить строку .bashrc или .profile. Переменные, установленные в $HOME/.profile активны для текущего пользователя, те, в /etc/profile глобальные. Элемент .bashrc тянется на каждом старте сеанса bash.

    в системах Ubuntu используйте следующие места:

    конкретный пример: У меня установлена Java 7 и Java 6, мне нужно запустить некоторые сборки с 6, другие с 7. Поэтому мне нужно динамически изменять JAVA_HOME Так что maven берет то, что я хочу для каждой сборки. Я сделал следующее:

    • создано j6.sh скрипт, который просто делает экспорт JAVA_HOME=... путь к установке j6...
    • затем, как было предложено одним из комментариев выше, всякий раз, когда мне нужен J6 для сборки, я запускаю source j6.sh в соответствующем терминале. По умолчанию, мой JAVA_HOME имеет значение J7.

    надеюсь, что это помогает.

    Comments

      Ничего не найдено.