我正在运行RHEL 6,我已经导出了一个环境变量,如下所示:
export DISPLAY=:0
当终端关闭时,该变量将丢失。我如何永久地添加这个,以便这个变量值始终存在于特定的用户?
我正在运行RHEL 6,我已经导出了一个环境变量,如下所示:
export DISPLAY=:0
当终端关闭时,该变量将丢失。我如何永久地添加这个,以便这个变量值始终存在于特定的用户?
当前回答
你可以把它添加到你的shell配置文件中,例如$HOME/。Bashrc或更全局的/etc/environment。
添加这些行之后,更改不会立即反映在基于gui的系统中。您必须退出终端或创建一个新的终端,并在服务器上注销会话并重新登录以反映这些更改。
其他回答
将这一行添加到.bashrc文件或.profile文件中。
在$HOME/文件中设置的变量。配置文件对当前用户是活动的,而/etc/profile中的配置文件是全局的。每次Bash会话启动时都会拉出.bashrc文件。
你可以把它添加到你的shell配置文件中,例如$HOME/。Bashrc或更全局的/etc/environment。
添加这些行之后,更改不会立即反映在基于gui的系统中。您必须退出终端或创建一个新的终端,并在服务器上注销会话并重新登录以反映这些更改。
如果适合任何人,这里有一些永久添加环境变量的简单指南。
vi ~/.bash_profile
将变量添加到文件中:
export DISPLAY=:0
export JAVA_HOME=~/opt/openjdk11
立即应用所有更改:
source ~/.bash_profile
来源:如何在Linux中设置环境变量
在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脚本,导出JAVA_HOME=…安装j6的路径… 然后,正如上面的一条评论所建议的那样,每当我需要J6进行构建时,我就在相应的命令终端中运行源J6 .sh。默认情况下,我的JAVA_HOME设置为J7。