use*_*582 138 linux redhat environment-variables
我正在运行RHEL6,我已经导出了这样的环境变量:
export DISPLAY=:0
Run Code Online (Sandbox Code Playgroud)
当终端关闭时,该变量将丢失.如何永久添加此值以使该变量值始终与特定用户一起存在?
Ant*_*ine 156
您可以将其添加到shell配置文件中,例如$HOME/.bashrc
或更全局地添加到shell配置文件中/etc/environment
.
e_s*_*ush 107
您必须编辑三个文件以设置永久环境变量,如下所示:
通常,您必须重新启动计算机才能应用此更改.但是您可以通过以下命令在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
Run Code Online (Sandbox Code Playgroud)
将这些行保存在shfile中然后使其可执行并运行它!
kos*_*tja 29
将行添加到您的.bashrc
或.profile
.设置的变量$HOME/.profile
对当前用户是活动的,其中的变量/etc/profile
是全局的.该.bashrc
拉各的bash会话开始.
csi*_*csi 27
在Ubuntu系统上,使用以下位置:
JAVA_PATH=/usr/local/java
存储格式的系统范围持久变量
/etc/environment
Run Code Online (Sandbox Code Playgroud)系统范围的持久变量,引用变量,例如
export PATH="$JAVA_PATH:$PATH"
store in
/etc/.bashrc
Run Code Online (Sandbox Code Playgroud)PATH DEFAULT=/usr/bin:usr/local/bin
存储格式的用户特定持久变量
~/.pam_environment
Run Code Online (Sandbox Code Playgroud)有关#2的更多详细信息,请查看此 Ask Ubuntu答案.注意:#3是Ubuntu的推荐,但在现实世界中可能存在安全问题.
如果它适合任何人,这里有一些永久添加环境变量的简短指南。
vi ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
将变量添加到文件中:
export DISPLAY=:0
export JAVA_HOME=~/opt/openjdk11
Run Code Online (Sandbox Code Playgroud)
立即应用所有更改:
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)