在我上次的 UNIX 设置中,如果我位于同一目录中,我可以简单地键入二进制文件的名称,它就会执行它。然而,在这个新设置中,如果我想执行它们,我必须在二进制名称前面加上 ./。有人知道如何规避这个问题吗?
谢谢。
最佳答案
解决此问题的传统方法(可能也是您之前设置中的方法)是将 .
添加到您的 PATH
环境变量中。因此,如果您的 PATH
是 /usr/bin:/bin
,则将 .
添加到末尾(以及 :
分隔符),所以你有 /usr/bin:/bin:.
。具体如何操作因外壳而异。快速 Google 一下,无疑会为您的 shell 找到答案。
但请注意,这可能会带来潜在的负面安全影响,尤其是在共享服务上。如果攻击者设法在您所在的目录中获取恶意文件,并将该文件命名为通常无害的命令(例如 ls
),则可能会导致您无意中运行该邪恶文件。
因此,如果您打算这样做,至少请确保将 .
作为 PATH
中的最后一项。
关于unix - 如何在命令行上按名称执行程序而无需输入当前目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335589/