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


9

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

您知道如何解决此问题吗?

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


1
把它放在你的.bashrc
gniourf_gniourf

怎么做?我是Linux的新手;)
Jenne

2
.bashrc像这样打开文件:gedit ~/.bashrc然后将所需的内容放在其中(最好在文件的底部),PATH="~/my/cool/path/:$PATH"然后导出此变量:刚输入的行之后,放入export PATH然后保存文件,然后关闭终端并重新打开它,现在~/my/cool/path将找到您的可执行文件。
gniourf_gniourf 2013年

我为您写了一个完整的答案……:)
gniourf_gniourf 2013年

Answers:


15

我了解您的某个主文件夹中有一些可执行文件,例如in,~/bin并且您希望能够执行它们而不必始终输入完整路径~/bin/my_cool_executable

您已经观察到,进入PATH=~/bin:$PATH终端可以使一切正常……但是直到您关闭终端为止。当您打开一个新PATH变量时,以前的变量将重置为其原始值。顺便说一句,我想您知道如何随时检查PATH变量的值:

echo "$PATH"

如何使更改永久生效,以使您PATH在重新打开新终端时仍保持原样?这很容易,您只需要编辑.bashrc文件即可。让我们使用gedit编辑器:在终端中,键入以下内容:

gedit ~/.bashrc

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

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH

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

请享用!

警告。它被认为是不好的做法和一个安全漏洞,把.你的PATH变量。


因此,那真的很不错,但是现在我root时无法启动程序。您知道为什么以及如何解决吗?:)
詹妮

在这种情况下,一种选择是将程序放入 /usr/local/bin而不是摆弄PATH变量...,或者/usr/local/sbin仅必须由root用户访问它们。
gniourf_gniourf 2013年

有些必须以root用户身份运行,有些则不能。因此,如果没关系,并且它们可以位于自定义目录中,那就太好了。那么它能做到吗?:)
詹妮
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.