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

背景

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

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

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

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


当前回答

在/etc/profile中添加脚本[name_of_script].shD文件夹用的行:

export PATH=$PATH:/dir

/etc/profile中的每个脚本D文件夹在登录时由/etc/profile自动执行。

其他回答

最简单的方法是,

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

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

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

您需要将其添加到~/。Profile或~/。bashrc文件。(

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

取决于你在做什么,你也可能想要符号链接到二进制文件:

cd /usr/bin
sudo ln -s /path/to/binary binary-name

注意,这将不会自动更新会话剩余部分的路径。要做到这一点,你应该运行:

source ~/.profile 
or
source ~/.bashrc

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

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

永久地添加到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

经过这么多的研究,我找到了一个简单的解决方案(我使用的是Elementary OS),灵感来自Flutter - Step by Step Installation on Linux - Ubuntu。

2 .执行以下命令,以编辑方式打开“。bashrc”文件。(你 也可以使用vi或任何其他编辑器)。 ~$ sudo nano ~/.bashrc 在文件末尾添加以下行并保存。 导出路径= " [FLUTTER_SDK_PATH] /颤振/ bin: $路径” 例如: 导出路径= " / home / rageshl / dev /颤振/ bin:美元路径”

我相信这是在Ubuntu发行版中在Flutter中设置路径的永久解决方案。