如何在Linux中永久设置环境变量

ego6inou  于 2023-01-25  发布在  Linux
关注(0)|答案(6)|浏览(222)

如何在Linux中永久设置新的环境变量及其值
我使用export设置env变量。但问题是它的会话特定的。如果我打开新的会话,设置的值将消失。提前感谢您

5sxhfpxr

5sxhfpxr1#

如果要在您的shell中设置变量(与超级用户的shell相反):
1.确保您的.bashrc存在

ls -A ~/.bashrc

1.在底部添加变量

export VARIABLE=value

1.保存,然后打开新终端并验证变量是否已设置

$ echo $VARIABLE
value

请记住,这取决于您的shell。

whhtz7ly

whhtz7ly2#

    • 溶液**:为了导出环境变量并使其在Linux上保持持久性,您应该将decellation变量导出到以下文件之一:一个月一个月一个月一个月一个月一个月一个月一个月二个月一个月。

当bash作为交互式/非交互式登录shell被调用时,它首先从文件/etc/profile(如果存在)读取并执行命令,然后查找以下文件(按顺序并执行相同的操作)~/.bash_profile~/. bash_login~/.profile

    • 示例:将机密令牌添加到我的**用户配置文件中。
cat << End >> ~/.profile
export SECRET_TOKEN=abc123!@#
End

输出:

echo $SECRET_TOKEN
abc123!@#
umuewwlo

umuewwlo3#

通常的位置是~/.bashrc,假设你使用的是bash,这是大多数发行版的默认值。检查一下echo $SHELL。如果你只想在登录shell中设置变量(而不是在脚本中),你可以使用~/.bash_profile

2admgd59

2admgd594#

这里有一个很好的解释,什么时候把它放在这里http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html如果你没有root访问权限,把它放在本地的某个地方,比如.bash_profile,或者根据你使用的shell,输入命令ps找到你的shell。

qzlgjiam

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。

wfauudbj

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,看看你是否能在列表中看到你的环境变量。

相关问题