如何在Linux中永久设置新的环境变量及其值我使用export设置env变量。但问题是它的会话特定的。如果我打开新的会话,设置的值将消失。提前感谢您
export
5sxhfpxr1#
如果要在您的shell中设置变量(与超级用户的shell相反):1.确保您的.bashrc存在
.bashrc
ls -A ~/.bashrc
1.在底部添加变量
export VARIABLE=value
1.保存,然后打开新终端并验证变量是否已设置
$ echo $VARIABLE value
请记住,这取决于您的shell。
whhtz7ly2#
当bash作为交互式/非交互式登录shell被调用时,它首先从文件/etc/profile(如果存在)读取并执行命令,然后查找以下文件(按顺序并执行相同的操作)~/.bash_profile、~/. bash_login、~/.profile。
/etc/profile
~/.bash_profile
~/. bash_login
~/.profile
cat << End >> ~/.profile export SECRET_TOKEN=abc123!@# End
输出:
echo $SECRET_TOKEN abc123!@#
umuewwlo3#
通常的位置是~/.bashrc,假设你使用的是bash,这是大多数发行版的默认值。检查一下echo $SHELL。如果你只想在登录shell中设置变量(而不是在脚本中),你可以使用~/.bash_profile。
~/.bashrc
echo $SHELL
2admgd594#
这里有一个很好的解释,什么时候把它放在这里http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html如果你没有root访问权限,把它放在本地的某个地方,比如.bash_profile,或者根据你使用的shell,输入命令ps找到你的shell。
qzlgjiam5#
在/etc/environment中设置它。在我的Ubuntu安装中,这是你可以永久设置环境变量的地方。对于不同的发行版,这个文件可能会有所不同。以下是我的/etc/environment文件的内容。PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"查看上面如何设置环境变量PATH。
/etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
PATH
导出命令说明
export varname使变量varname可用于从当前shell运行的任何子shell,即运行export命令的shell。任何其他shell,无论是与当前shell无关的还是父shell,都不会有此变量。了解这一点,假设您使用的是bash shell,你可以在.bashrc文件中写入export命令。.bashrc是一个在每次bash shell启动时运行的文件,因此,您在其中写入的任何命令都会在任何打开的bash shell中执行。因此,在.bashrc文件中写入export命令是另一种选择。类似的过程将是任何其他 shell 您正在使用。例如,为Z shell 的文件是. zshrc。
export varname
varname
wfauudbj6#
这是在Debian 11中工作的。它应该在其他基于Debian的发行版上工作,如Ubuntu等。我使用的是老式的nano来编辑位于/etc/security/目录中的名为pam_env.conf的文件,您可以使用任何其他文件来代替nano。sudo nano /etc/security/pam_env.conf在此文件中设置环境变量的格式如下:VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]](For例如,我们将变量DXVK_HUD设置为值full,这相当于export DXVK_HUD=full。您可以根据您的用例将变量名和值替换为任何值。)下面是它在文件中作为新行的样子:DXVK_HUD DEFAULT=full OVERRIDE=full通过保存进行更改(CTRL+O组合键用于通过nano进行更改)。然后按回车键(Enter键)。然后按CTRL+X退出nano。重新启动你的系统,在终端中输入env,看看你是否能在列表中看到你的环境变量。
/etc/security/
pam_env.conf
sudo nano /etc/security/pam_env.conf
VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]
DXVK_HUD
full
export DXVK_HUD=full
DXVK_HUD DEFAULT=full OVERRIDE=full
env
6条答案
按热度按时间5sxhfpxr1#
如果要在您的shell中设置变量(与超级用户的shell相反):
1.确保您的
.bashrc
存在1.在底部添加变量
1.保存,然后打开新终端并验证变量是否已设置
请记住,这取决于您的shell。
whhtz7ly2#
当bash作为交互式/非交互式登录shell被调用时,它首先从文件
/etc/profile
(如果存在)读取并执行命令,然后查找以下文件(按顺序并执行相同的操作)~/.bash_profile
、~/. bash_login
、~/.profile
。输出:
umuewwlo3#
通常的位置是
~/.bashrc
,假设你使用的是bash,这是大多数发行版的默认值。检查一下echo $SHELL
。如果你只想在登录shell中设置变量(而不是在脚本中),你可以使用~/.bash_profile
。2admgd594#
这里有一个很好的解释,什么时候把它放在这里http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html如果你没有root访问权限,把它放在本地的某个地方,比如.bash_profile,或者根据你使用的shell,输入命令ps找到你的shell。
qzlgjiam5#
在
/etc/environment
中设置它。在我的Ubuntu安装中,这是你可以永久设置环境变量的地方。对于不同的发行版,这个文件可能会有所不同。以下是我的/etc/environment
文件的内容。PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
查看上面如何设置环境变量
PATH
。导出命令说明
export varname
使变量varname
可用于从当前shell运行的任何子shell,即运行export
命令的shell。任何其他shell,无论是与当前shell无关的还是父shell,都不会有此变量。了解这一点,假设您使用的是bash shell,你可以在.bashrc
文件中写入export命令。.bashrc
是一个在每次bash shell启动时运行的文件,因此,您在其中写入的任何命令都会在任何打开的bash shell中执行。因此,在.bashrc
文件中写入export命令是另一种选择。类似的过程将是任何其他 shell 您正在使用。例如,为Z shell 的文件是. zshrc。wfauudbj6#
这是在Debian 11中工作的。它应该在其他基于Debian的发行版上工作,如Ubuntu等。我使用的是老式的nano来编辑位于
/etc/security/
目录中的名为pam_env.conf
的文件,您可以使用任何其他文件来代替nano。sudo nano /etc/security/pam_env.conf
在此文件中设置环境变量的格式如下:
VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]
(For例如,我们将变量
DXVK_HUD
设置为值full
,这相当于export DXVK_HUD=full
。您可以根据您的用例将变量名和值替换为任何值。)下面是它在文件中作为新行的样子:
DXVK_HUD DEFAULT=full OVERRIDE=full
通过保存进行更改(CTRL+O组合键用于通过nano进行更改)。然后按回车键(Enter键)。然后按CTRL+X退出nano。
重新启动你的系统,在终端中输入
env
,看看你是否能在列表中看到你的环境变量。