你如何添加任何当前目录“./”到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