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

背景

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

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

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

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


当前回答

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

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

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

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

source ~/.bash_profile

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

其他回答

最简单的方法是,

PATH="<directory you want to include>:$PATH"

在主目录下的。bashrc文件中。

即使你关闭终端或重启电脑,它也不会被重置。它是永久性的。

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

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

这是一行代码。它在.bashrc中添加了一行。这一行将检查目录是否已经添加到路径中,如果没有则追加。这将防止每次源.bashrc时在该路径中复制您的目录。

echo "[[ \":\$PATH:\" != *\":$(pwd)/path/to/add:\"* ]] && export PATH=\"\${PATH:+\${PATH}}:$(pwd)/path/to/add\"" >> ~/.bashrc

source ~/.bashrc

我昨天在寻找一种方法将包含我自己的脚本的文件夹添加到PATH时偶然发现了这个问题-并且惊讶地发现我自己的~/。配置文件(在Linux Mint 18.1上)已经包含这个:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

因此,我所要做的就是创建文件夹~/bin并将脚本放在那里。

我认为最优雅的方式是:

把这个加到~中。/ bashrc文件(: If [-d "new-path"];然后 = $ PATH:新路径 fi * ~ / . bashrc *来源

(Ubuntu)