添加任何当前目录' ./'到Linux的搜索路径

时间:2014-11-28 12:37:14

标签: linux path directory add

如何添加任何当前目录' ./'到Linux中可执行文件的搜索路径?

6 个答案:

答案 0 :(得分:35)

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

如果您想在搜索路径设置时搜索路径包含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的目录,则#34; foo"将不再在PATH中找到。

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

答案 1 :(得分:6)

如果您想永久将您当前所在的目录添加到PATH变量中,您可以使用

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

$(pwd)展开到当前目录的字符串文字,并将引用行附加到bashrc。请注意,\中需要\$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

答案 2 :(得分:4)

嗯......这对我不起作用。我会做的

export PATH=$(pwd):$PATH

之前发布的命令只是添加了点。

答案 3 :(得分:1)

export PATH=$PATH:$PWD 

适用于bash 4.3.48

答案 4 :(得分:1)

这是一个老问题,但我想我会为使用CSH或TCSH的人添加它。

将以下内容添加到.cshrc或.tcshrc中会将当前目录添加到环境路径变量中。

setenv PATH {$PATH}:.

答案 5 :(得分:1)

对于当前目录,您只需使用零长度(null)目录名称。您可以使用初始或尾随冒号或双冒号。这是来自bash联机帮助页man bash

PATH   The  search path for commands.  It is a colon-separated list of
       directories in which the shell looks for commands (see COMMAND EXECUTION
       below).  A zero-length (null) directory name in the value of PATH
       indicates the current directory.  A null directory name may appear as two
       adjacent colons, or as an initial or trailing colon. The default path
       is system-dependent, and is set by the administrator who installs bash.
       A common value is
       ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.