在Linux上,如何将一个目录添加到$PATH,以便在不同的会话中保持持久性?
背景
我试图添加一个目录到我的路径,所以它将永远在我的Linux路径。我试过了:
export PATH=$PATH:/path/to/dir
这是有效的,但是每当我退出终端并启动一个新的终端实例时,这个路径就丢失了,我需要再次运行导出命令。
我怎么做才能永久设置它呢?
在Linux上,如何将一个目录添加到$PATH,以便在不同的会话中保持持久性?
背景
我试图添加一个目录到我的路径,所以它将永远在我的Linux路径。我试过了:
export PATH=$PATH:/path/to/dir
这是有效的,但是每当我退出终端并启动一个新的终端实例时,这个路径就丢失了,我需要再次运行导出命令。
我怎么做才能永久设置它呢?
当前回答
添加永久路径的一种方法是:
cd /etc/profile.d
touch custom.sh
vi custom.sh
export PATH=$PATH:/path according to your setting/
重启你的电脑,开始吧;路径将永远存在。
其他回答
添加永久路径的一种方法是:
cd /etc/profile.d
touch custom.sh
vi custom.sh
export PATH=$PATH:/path according to your setting/
重启你的电脑,开始吧;路径将永远存在。
你也可以永久地设置它,编辑这些文件之一:
/etc/profile(针对所有用户)
~ /。Bash_profile(用于当前用户)
~ /。Bash_login(用于当前用户)
~ /。配置文件(适用于当前用户)
也可以使用/etc/environment设置永久的PATH环境变量,但不支持变量展开。
提取自:Linux: Añadir ruta al PATH
经过这么多的研究,我找到了一个简单的解决方案(我使用的是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中设置路径的永久解决方案。
在Ubuntu中,编辑/etc/environment。它的唯一目的是存储环境变量。$PATH变量最初定义在这里。
这是我的/etc/environment文件的粘贴:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
所以你可以以根用户身份打开这个文件,添加任何你想要的东西。
为了立竿见影,
运行(以普通用户和root用户尝试):
source /etc/environment && export PATH
如果你使用Z shell (zsh),在/etc/zsh/zshenv文件的注释后面添加这一行:
source /etc/environment
我在Ubuntu 15.10 (Wily Werewolf)上遇到了这个小怪癖,但如果你的zsh没有得到正确的PATH,这可能是原因。
您需要将其添加到~/。Profile或~/。bashrc文件。(
export PATH="$PATH:/path/to/dir"
取决于你在做什么,你也可能想要符号链接到二进制文件:
cd /usr/bin
sudo ln -s /path/to/binary binary-name
注意,这将不会自动更新会话剩余部分的路径。要做到这一点,你应该运行:
source ~/.profile
or
source ~/.bashrc