我正在运行RHEL6,我已经导出了这样的环境变量:
export DISPLAY=:0
终端关闭时该变量丢失。如何永久添加此值,以便特定用户始终存在此变量值?
答案 0 :(得分:140)
您可以将其添加到您的shell配置文件中,例如$HOME/.bashrc
全球/etc/environment
或更多。
答案 1 :(得分:84)
您必须编辑三个文件以设置永久环境变量,如下所示:
通常,您必须重新启动计算机才能应用此更改。但您可以通过以下命令在 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中,然后make it executable,然后运行它!
答案 2 :(得分:28)
将该行添加到.bashrc
或.profile
。 $HOME/.profile
中设置的变量对当前用户有效,/etc/profile
中的变量是全局变量。每个bash会话开始都会提取.bashrc
。
答案 3 :(得分:25)
在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的更多详细信息,请选中此项 Ask Ubuntu answer。 注意:#3是Ubuntu的推荐,但在现实世界中可能存在安全问题。
答案 4 :(得分:2)
一个特例:
我安装了Java 7和Java 6,我需要用6运行一些构建,其他用7运行。因此我需要动态地改变JAVA_HOME
,以便maven为每个构建选择我想要的东西。我做了以下事情:
j6.sh
脚本,它只是将JAVA_HOME=...
路径导出到j6 install ... j6.sh
。默认情况下,我的JAVA_HOME
设置为J7。希望这有帮助。
答案 5 :(得分:1)
如果它适合任何人,这是一些永久添加环境变量的简要指南。
vi ~/.bash_profile
将变量添加到文件中:
export DISPLAY=:0
export JAVA_HOME=~/opt/openjdk11
立即应用所有更改:
source ~/.bash_profile