在Linux上,如何将一个目录添加到$PATH,以便在不同的会话中保持持久性?

背景

我试图添加一个目录到我的路径,所以它将永远在我的Linux路径。我试过了:

export PATH=$PATH:/path/to/dir

这是有效的,但是每当我退出终端并启动一个新的终端实例时,这个路径就丢失了,我需要再次运行导出命令。

我怎么做才能永久设置它呢?


当前回答

可以通过以下命令直接添加:

echo 'export PATH=$PATH:/new/directory' >> ~/.zshrc
source ~/.zshrc

其他回答

假设你运行的是macOS。您有一个信任的二进制文件,并希望在整个系统中可用,但不一定希望将二进制文件所在的目录添加到PATH中。

您可以选择复制/移动二进制文件到/usr/local/bin,它应该已经在您的PATH中。这将使二进制可执行文件与您在终端中已经访问的任何其他二进制文件一样。

本地用户可在CentOS或redhat Linux (RHEL)上使用:

echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile

这将当前目录(或者您可以使用另一个目录)添加到PATH。这使它成为永久的,但它在下一次用户登录时生效。

如果你不想重新登录,那么你可以使用:

source ~/.bash_profile

这将重新加载#用户特定环境和启动程序。该注释出现在.bash_profile文件中。

对于Bash,可以将导出声明放在~/.bashrc中。例如,我的.bashrc包含这一行:

export PATH=/var/lib/gems/1.8/bin:/home/ash/.bin:$PATH

Zues77的想法是正确的。操作人员没有说“我怎么才能破解这个?”OP想知道如何永久地附加到$PATH:

sudo nano /etc/profile

这是为所有东西设置的地方,也是为所有需要$PATH的东西更改它的最佳位置。

您可以将这一行添加到控制台配置文件(例如,.bashrc或.profile)。