PATH 变量总是被重置。如何解决?

lel*_*ele 12 command-line bash environment-variables

不久前,我发现我可以通过扩展 PATH 变量来创建自定义命令终端。不幸的是,当我关闭终端并再次打开它时,它总是会重新设置。

你知道如何解决这个问题吗?

因为当我想用终端命令启动一些脚本时,我不想每次都扩展 PATH 变量...

gni*_*urf 17

我知道您的主文件夹之一中有一些可执行文件,例如, in~/bin并且您希望能够在不总是输入完整路径的情况下执行它们~/bin/my_cool_executable

您已经观察到进入PATH=~/bin:$PATH终端后一切正常……但只有在您关闭终端之前。当您打开一个新PATH变量时,您之前的变量将重置为其原始值。顺便说一句,我猜您知道如何随时检查PATH变量的值:像这样:

echo "$PATH"
Run Code Online (Sandbox Code Playgroud)

如何使您的更改永久化,以便PATH在您重新打开新终端时仍然保持不变?这很简单,你只需要编辑你的.bashrc文件。让我们使用gedit编辑器:在终端中,输入:

gedit ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

这将打开gedit编辑器。滚动到文件末尾并添加以下内容:

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH
Run Code Online (Sandbox Code Playgroud)

并保存文件并退出 gedit。然后关闭你的终端并打开一个新的。现在你的PATH变量应该~/bin放在它前面,这样你的命令~/bin就可以在不输入完整路径的情况下访问。你知道如何检查:echo "$PATH"

享受!

警告.PATH变量放入变量中被认为是不好的做法和安全漏洞。