Как постоянно экспортировать переменную в Linux?
Я запускаю RHEL6, и я экспортировал переменную окружения следующим образом:
export DISPLAY=:0
эта переменная теряется при закрытии CMD. Как мне постоянно добавлять это, чтобы это значение переменной всегда существовало с конкретным пользователем?
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.
конкретный пример: У меня установлена Java 7 и Java 6, мне нужно запустить некоторые сборки с 6, другие с 7. Поэтому мне нужно динамически изменять
JAVA_HOMEТак что maven берет то, что я хочу для каждой сборки. Я сделал следующее:
- создано
j6.shскрипт, который просто делает экспортJAVA_HOME=...путь к установке j6...- затем, как было предложено одним из комментариев выше, всякий раз, когда мне нужен J6 для сборки, я запускаю source
j6.shв соответствующем терминале. По умолчанию, мойJAVA_HOMEимеет значение J7.надеюсь, что это помогает.
Comments