如何在命令行上按名称执行程序而不键入当前目录?

时间:2011-12-01 01:46:44

标签: unix path

在我上次的UNIX设置中,如果我在同一个目录中,我就可以简单地输入二进制文件的名称,然后执行它。但是在这个新设置中,如果我想执行它们,我必须使用./作为二进制名称的前缀。有谁知道如何规避这个?

感谢。

2 个答案:

答案 0 :(得分:2)

解决此问题的传统方法(可能是您之前设置的方式)是将.添加到您的PATH环境变量中。因此,如果您的PATH/usr/bin:/bin,则将.添加到最后(以及:分隔符),这样您就可以/usr/bin:/bin:.。具体如何做到这一点因shell而异。一个快速的谷歌无疑会为你的shell提供答案。

请注意,可能存在潜在的负面安全隐患,尤其是在共享服务上。如果攻击者设法在您所在的目录中获取邪恶文件,并将该文件命名为通常无害的命令(如ls),则可能会导致您无意中运行恶意文件。

因此,如果您要执行此操作,请至少确保将.作为PATH中的最后一项。

答案 1 :(得分:1)

我猜你使用的是默认的shell,而shell是bash。

编辑:/ etc / bashrc并添加:

export set PATH = $ PATH:。