Macos 为什么./helloworld而不是helloworld直接从终端运行我的程序?

Macos 为什么./helloworld而不是helloworld直接从终端运行我的程序?,macos,unix,command-line,Macos,Unix,Command Line,正如我所问的问题,我认为“.”是指当前目录,那么为什么我们不能直接键入helloworld来运行程序呢?因为”。,当前目录,不在您环境的$PATH中,它包含搜索可执行文件的路径列表。要查看路径变量,请键入 echo $PATH 这很可能是出于安全原因,以防止执行以系统或其他受信任的已安装文件命名的本地可执行文件。我曾在系统上工作过,。位于路径,至少它会导致一些令人困惑的时刻(该实用程序是意外更换的首选。) 我建议不要将'附加到路径中。基于这些原因。要详细说明这个答案,在$PATH中没有是一件好

正如我所问的问题,我认为“.”是指当前目录,那么为什么我们不能直接键入helloworld来运行程序呢?

因为
”。
,当前目录,不在您环境的
$PATH
中,它包含搜索可执行文件的路径列表。要查看
路径
变量,请键入

echo $PATH
这很可能是出于安全原因,以防止执行以系统或其他受信任的已安装文件命名的本地可执行文件。我曾在系统上工作过,
位于
路径
,至少它会导致一些令人困惑的时刻(该实用程序是意外更换的首选。)


我建议不要将
'附加到
路径中。
基于这些原因。

要详细说明这个答案,在
$PATH中没有
是一件好事。想一想,如果当前目录中有一个名为
ls
的程序,并且您想列出该文件,会发生什么情况?然后调用本地<代码> Ls>代码>程序,而不是代码> /bin /ls 。我删除C++标签,因为这适用于所有可执行文件。