为什么要使用"./helloworld"而不是直接使用"helloworld"在终端中运行我的程序?
- 论坛
- 为什么要使用"./helloworld"而不是直接使用"helloworld"在终端中运行我的程序?
12 浏览
匿名的
0 Comments
为什么在终端中运行程序时需要使用./helloworld而不是直接使用helloworld?
原因是因为当前目录('.')没有添加到环境变量的$PATH中,$PATH是包含可执行文件搜索路径的列表。要查看你的$PATH变量,可以输入以下命令:
echo $PATH
这很可能是出于安全原因,以防止执行命名为系统或其他受信任安装的可执行文件。我曾经在加入'.'到$PATH的系统上工作过,至少会导致一些令人困惑的时刻(test实用程序是一个常见的意外替代候选者)。
出于这些原因,我建议不要将'.'追加到$PATH中。
进一步说明,不将'.'添加到$PATH中是一件好事。想象一下,如果当前目录中有一个名为ls的程序,而你想要列出文件,那么将会调用本地的ls程序而不是/bin/ls。