在Linux上,如何将一个目录添加到$PATH,以便在不同的会话中保持持久性?
背景
我试图添加一个目录到我的路径,所以它将永远在我的Linux路径。我试过了:
export PATH=$PATH:/path/to/dir
这是有效的,但是每当我退出终端并启动一个新的终端实例时,这个路径就丢失了,我需要再次运行导出命令。
我怎么做才能永久设置它呢?
在Linux上,如何将一个目录添加到$PATH,以便在不同的会话中保持持久性?
背景
我试图添加一个目录到我的路径,所以它将永远在我的Linux路径。我试过了:
export PATH=$PATH:/path/to/dir
这是有效的,但是每当我退出终端并启动一个新的终端实例时,这个路径就丢失了,我需要再次运行导出命令。
我怎么做才能永久设置它呢?
当前回答
在/etc/profile中添加脚本[name_of_script].shD文件夹用的行:
export PATH=$PATH:/dir
/etc/profile中的每个脚本D文件夹在登录时由/etc/profile自动执行。
其他回答
您可以将这一行添加到控制台配置文件(例如,.bashrc或.profile)。
对于Bash,可以将导出声明放在~/.bashrc中。例如,我的.bashrc包含这一行:
export PATH=/var/lib/gems/1.8/bin:/home/ash/.bin:$PATH
本地用户可在CentOS或redhat Linux (RHEL)上使用:
echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile
这将当前目录(或者您可以使用另一个目录)添加到PATH。这使它成为永久的,但它在下一次用户登录时生效。
如果你不想重新登录,那么你可以使用:
source ~/.bash_profile
这将重新加载#用户特定环境和启动程序。该注释出现在.bash_profile文件中。
您需要将其添加到~/。Profile或~/。bashrc文件。(
export PATH="$PATH:/path/to/dir"
取决于你在做什么,你也可能想要符号链接到二进制文件:
cd /usr/bin
sudo ln -s /path/to/binary binary-name
注意,这将不会自动更新会话剩余部分的路径。要做到这一点,你应该运行:
source ~/.profile
or
source ~/.bashrc
这是一行代码。它在.bashrc中添加了一行。这一行将检查目录是否已经添加到路径中,如果没有则追加。这将防止每次源.bashrc时在该路径中复制您的目录。
echo "[[ \":\$PATH:\" != *\":$(pwd)/path/to/add:\"* ]] && export PATH=\"\${PATH:+\${PATH}}:$(pwd)/path/to/add\"" >> ~/.bashrc
source ~/.bashrc