在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

其他回答

修改“/etc/profile”文件: vi / etc / profile 按“I”键进入编辑模式,将光标移至文件末尾。额外的条目: 导出路径= $路径:/道路/ / dir; 按“Esc”键退出编辑模式,并按“:wq”保存文件。 使配置有效 源/ etc / profile 解释: 配置文件适用于所有用户。如果希望它仅对活动用户有效,请更改“。bashrc”(文件。

你也可以永久地设置它,编辑这些文件之一:

/etc/profile(针对所有用户)

~ /。Bash_profile(用于当前用户)

~ /。Bash_login(用于当前用户)

~ /。配置文件(适用于当前用户)

也可以使用/etc/environment设置永久的PATH环境变量,但不支持变量展开。

提取自:Linux: Añadir ruta al PATH

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

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

可以通过两种方式永久设置$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

永久地添加到PATH变量中

全球:

echo "export PATH=$PATH:/new/path/variable" >> /etc/profile

本地(仅针对当前用户):

echo "export PATH=$PATH:/new/path/variable" >> ~/.profile

对于全局,请重新启动。对于本地,请重新登录。

例子

之前:

$ cat /etc/profile

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin

后:

$ cat /etc/profile

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

或者你可以编辑文件“profile”:

$ cat /etc/profile

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

另一种方式(感谢gniourf_gniourf):

echo 'PATH=$PATH:/new/path/variable' >> /etc/profile

你不应该在这里使用双引号!回声的出口 = $ PATH: /新/ PATH /变量”……顺便说一下,export关键字 是很可能无用的路径变量是很可能已经 标记为导出。——gniourf_gniourf