为什么在当前目录下执行程序时需要“./”?

为什么在当前目录下执行程序时需要“./”?

可能的重复:
为什么我们要使用“./”来执行文件?

这似乎是多余的,并且在一段时间后变得烦人——有没有办法改变这一点?如果不是,有人可以解释一下这背后的原因吗?

谢谢!

答案1

如果当前目录位于您的路径中,并且路径中先前指定的目录中没有其他同名的可执行文件,则不需要。如果这两个条件都不成立,./ 就有效地表示“看这里”。

虽然你可以添加“.”到您的路径中,这是不可取的,因为如果您从具有与系统命令名称匹配的可执行文件的目录中执行命令,这会为意外(或恶意)结果打开大门。

答案2

如果当前目录不在您的路径中,则执行此操作。如果您曾经以 root 身份登录或者是 sudoer,我不建议您将当前目录添加到路径中。只要忍受./

如果您愿意,可以在您的主目录中创建一个名为 的目录bin。然后将此目录添加到您的搜索路径中。这是放置通用内务脚本的好地方。

答案3

sh yourprogram.sh这不是比使用or运行程序容易得多吗python yourprogram.py

相关内容