我正在运行RHEL 6,并且导出了一个环境变量,如下所示:
export DISPLAY=:0
当终端关闭时,该变量丢失。如何永久添加该变量,以使该变量值始终存在于特定用户中?
k5ifujac1#
您可以将其添加到您的shell配置文件中,例如 $HOME/.bashrc 或 /etc/environment 中的更多全局文件。添加这些行后,更改不会立即反映在基于GUI的系统中,您必须退出终端或创建一个新终端,然后在服务器上注销会话并登录以反映这些更改。
neskvpey2#
您必须编辑三个文件来设置永久环境变量,如下所示:
当你打开任何终端窗口时,这个文件都会运行。因此,如果你希望在所有终端窗口中有一个永久的环境变量,你必须在这个文件的末尾添加下面一行:
export DISPLAY=0
与bashrc一样,您必须将提到的命令行放在此文件的末尾,以便在每次登录操作系统时使用环境变量。
如果你想让你的环境变量出现在每个窗口或应用程序中(不仅仅是终端窗口),你必须编辑这个文件。在这个文件的末尾添加下面的命令:
DISPLAY=0
请注意,在此文件中不必写入 export 命令通常你需要重启电脑来应用这些更改。但是你可以通过以下命令应用bashrc和profile中的更改:
$ 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!
ih99xse13#
将该行添加到 .bashrc 文件或.profile中。文件 $HOME/.profile 中设置的变量对当前用户有效,/etc/profile中的变量是全局变量。.bashrc 文件在每次Bash会话启动时被拉取。
.profile
/etc/profile
rhfm7lfc4#
在Ubuntu系统上,使用以下位置:
JAVA_PATH=/usr/local/java
/etc/environment
1.引用变量(如export PATH="$JAVA_PATH:$PATH")的系统范围持久性变量存储在
export PATH="$JAVA_PATH:$PATH"
/etc/.bashrc
PATH DEFAULT=/usr/bin:usr/local/bin
~/.pam_environment
有关#2的更多详细信息,请查看此“询问Ubuntu”答案。注意:#3是Ubuntu的建议,但它在真实的世界中可能有安全问题。
oipij1gg5#
如果适合任何人,这里有一些永久添加环境变量的简短指导。
vi ~/.bash_profile
将变量添加到文件中:
export DISPLAY=:0 export JAVA_HOME=~/opt/openjdk11
立即应用所有更改:
source ~/.bash_profile
来源:How to Set Environment Variables in Linux
kuuvgm7e6#
一个特别的例子:我已经安装了Java 7和Java 6,我需要运行一些版本6,其他版本7。因此,我需要动态更改JAVA_HOME,以便Maven选择我想要的每个版本。
JAVA_HOME
j6.sh
JAVA_HOME=...
6条答案
按热度按时间k5ifujac1#
您可以将其添加到您的shell配置文件中,例如 $HOME/.bashrc 或 /etc/environment 中的更多全局文件。
添加这些行后,更改不会立即反映在基于GUI的系统中,您必须退出终端或创建一个新终端,然后在服务器上注销会话并登录以反映这些更改。
neskvpey2#
您必须编辑三个文件来设置永久环境变量,如下所示:
~/.巴什尔c
当你打开任何终端窗口时,这个文件都会运行。因此,如果你希望在所有终端窗口中有一个永久的环境变量,你必须在这个文件的末尾添加下面一行:
~/.配置文件
与bashrc一样,您必须将提到的命令行放在此文件的末尾,以便在每次登录操作系统时使用环境变量。
/等/环境
如果你想让你的环境变量出现在每个窗口或应用程序中(不仅仅是终端窗口),你必须编辑这个文件。在这个文件的末尾添加下面的命令:
请注意,在此文件中不必写入 export 命令
通常你需要重启电脑来应用这些更改。但是你可以通过以下命令应用bashrc和profile中的更改:
但是对于 /etc/environment,你别无选择,只能重新启动(据我所知)
简单的解决方案
我为这些过程编写了一个简单的脚本来完成所有这些工作,您只需设置环境变量的名称和值。
将这些行保存在shfile中,然后运行make it executable!
ih99xse13#
将该行添加到 .bashrc 文件或
.profile
中。文件 $HOME/.profile 中设置的变量对当前用户有效,
/etc/profile
中的变量是全局变量。.bashrc 文件在每次Bash会话启动时被拉取。rhfm7lfc4#
在Ubuntu系统上,使用以下位置:
JAVA_PATH=/usr/local/java
的系统范围持久性变量存储在1.引用变量(如
export PATH="$JAVA_PATH:$PATH"
)的系统范围持久性变量存储在PATH DEFAULT=/usr/bin:usr/local/bin
的用户特定持久性变量存储在有关#2的更多详细信息,请查看此“询问Ubuntu”答案。
注意:#3是Ubuntu的建议,但它在真实的世界中可能有安全问题。
oipij1gg5#
如果适合任何人,这里有一些永久添加环境变量的简短指导。
将变量添加到文件中:
立即应用所有更改:
来源:How to Set Environment Variables in Linux
kuuvgm7e6#
一个特别的例子:
我已经安装了Java 7和Java 6,我需要运行一些版本6,其他版本7。因此,我需要动态更改
JAVA_HOME
,以便Maven选择我想要的每个版本。j6.sh
脚本,该脚本只是将JAVA_HOME=...
路径导出到j6安装...j6.sh
。