将任何当前目录“./”添加到Linux中的searchpath

你如何添加任何当前目录“./”到Linux中的可执行文件的searchpath

我知道这是一个古老的答案,但如果其他人像我一样通过谷歌绊倒这个问题,这里有一个更详细的解释。

如果您希望在设置搜索路径时使搜索路径包含pwd的值,请执行以下操作:

 export PATH=$PATH:$(pwd) 

所以,如果pwd/home/me/tmp ,PATH将被设置为$PATH:/home/me/tmp

但是,如果你需要它,那么无论你当前的工作目录是在你执行一个命令的时候(例如,在任何给定的时间pwd的值在搜索路径中),执行:

 export PATH=$PATH:. 

所以,如果pwd/home/me/tmp ,PATH将被设置为$PATH:. 。 如果你现在的工作目录包含一个名为foo的脚本,那么它将会在你的PATH中被引用。 如果将目录更改为不包含foo目录,则在PATH中将不会再找到“foo”。

您应该注意,在您的PATH中使用您当前的工作目录是潜在的安全风险。

呃…那不适合我 我会做

export PATH=$(pwd):$PATH

先前发布的命令字面上只是添加了点。

 export PATH=$PATH:$PWD 

与bash 4.3.48一起工作

如果你想永久地把你目前所在的目录添加到你可以使用的PATH变量中

 $ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc 

这会将$(pwd)扩展$(pwd)当前目录的字符串文字,并将引用的行添加到您的bashrc中。 注意\$PATH中的\$PATH需要将$PATH的扩展转义为当前值。

 $ pwd /path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin $ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc $ tail ~/.bashrc -n 1 export PATH=$PATH:/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin