Я запускаю RHEL6, и я экспортировал переменную среды следующим образом:
export DISPLAY=:0
Эта переменная теряется при закрытии CMD. Как я могу постоянно добавлять это, чтобы это значение всегда существовало с конкретным пользователем?
Я запускаю RHEL6, и я экспортировал переменную среды следующим образом:
export DISPLAY=:0
Эта переменная теряется при закрытии CMD. Как я могу постоянно добавлять это, чтобы это значение всегда существовало с конкретным пользователем?
Вы можете добавить его в файл конфигурации оболочки, например. $HOME/.bashrc
или более глобально в /etc/environment
.
Вам нужно отредактировать три файла, чтобы установить постоянную переменную среды следующим образом:
Обычно вы должны перезагрузить компьютер, чтобы применить эти изменения. Но вы можете применить изменения в bashrc и профиль следующими командами:
$ source ~/.bashrc
$ source ~/.profile
Но для /etc/environemnt у вас нет выбора, кроме перезапуска (насколько мне известно)
#!/bin/bash
echo "Enter variable name: "
read variable_name
echo "Enter variable value: "
read variable_value
echo "adding " $variable_name " to einvironment 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 wanna 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_PATH=/usr/local/java
хранится в
/etc/environment
Общесистемные постоянные переменные, которые ссылаются на переменные, такие как
export PATH="$JAVA_PATH:$PATH"
сохранить в
/etc/.bashrc
Пользовательские постоянные переменные в формате PATH DEFAULT=/usr/bin:usr/local/bin
хранятся в
~/.pam_environment
Подробнее о # 2, проверьте это Запросить ответ Ubuntu. ПРИМЕЧАНИЕ: # 3 - рекомендация Ubuntu, но может иметь проблемы с безопасностью в реальном мире.
Конкретный пример:
У меня установлены Java 7 и Java 6, мне нужно запустить некоторые сборки с 6, другие с 7. Поэтому мне нужно динамически изменить JAVA_HOME
, чтобы maven собирал то, что я хочу для каждой сборки. Я сделал следующее:
j6.sh
script, который просто экспортирует путь JAVA_HOME=...
к j6 install...j6.sh
в этом соответствующем командном терминале. По умолчанию мой JAVA_HOME
установлен в J7.Надеюсь, что это поможет.