更改$ PATH变量


0

我用它来添加到PATH:

APXS2=/usr/local/apache/bin/apxs PATH=$PATH:/usr/local/apache/bin passenger-install-apache2-module

而我的PATH现在看起来像这样:

/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:

现在我想删除这个我添加的。这该怎么做?

Answers:


1

最好的方法可能是在更改路径之前简单地存储路径的副本。

PATH_BAK=$PATH
PATH=...
...
PATH=$PATH_BAK

1

只需注销,再次登录,您的PATH将被重置。



0

鉴于/ usr / local / apache / bin不在'...我的PATH现在看起来像这样......' - 您认为您添加了什么?假设你正在使用bash或ksh - 你实际上并没有改变路径,因为你没有导出它。所以我怀疑你需要删除任何东西。

例如。

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ PATH=$PATH:/foo /bin/ls
aFile
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ # PATH did not alter

与:

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ export PATH=$PATH:/foo
$ /bin/ls
aFile
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/foo
$ #PATH modified.

因此,除非您将新PATH导出到shell,否则从PATH调用命令不会改变。

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.