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

背景

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

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

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

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


当前回答

可以通过两种方式永久设置$PATH。

设置指定用户的路径。 您可能需要在用户的主目录中的.bash_profile文件中创建条目。 例如,在我的情况下,我会在Tomcat用户配置文件*中设置java路径 echo "export PATH=$PATH:/ PATH /to/dir" >> /home/tomcat/.bash_profile . sh /home/tomcat/.bash_profile . sh 要为所有系统用户设置一个公共路径,可能需要这样设置: echo "export PATH=$PATH:/ PATH /to/dir" >> /etc/profile . sh /etc/profile . sh

其他回答

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

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

我认为最优雅的方式是:

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

(Ubuntu)

添加导出命令的文件取决于您是处于登录模式还是非登录模式。

如果您处于登录模式,您要查找的文件是/etc/bash或/etc/bash.bashrc。

如果处于非登录模式,则要查找文件/。Profile或/.profiles.d目录下的文件

上面提到的文件就是系统变量所在的地方。

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

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

source ~/.bashrc

可以通过两种方式永久设置$PATH。

设置指定用户的路径。 您可能需要在用户的主目录中的.bash_profile文件中创建条目。 例如,在我的情况下,我会在Tomcat用户配置文件*中设置java路径 echo "export PATH=$PATH:/ PATH /to/dir" >> /home/tomcat/.bash_profile . sh /home/tomcat/.bash_profile . sh 要为所有系统用户设置一个公共路径,可能需要这样设置: echo "export PATH=$PATH:/ PATH /to/dir" >> /etc/profile . sh /etc/profile . sh