我决定学习 C++ (我在工作中使用 C 编程),并阅读了一些教程(以及许多 Stack Overflow 上的帖子)。好的,所以我输入了标准的 C++ "hello word",在我的 Ubuntu 机器上用 GCC 编译成 "test"。 然后我尝试通过输入 "test" 并按回车键来运行它。什么也没有发生。原来我必须用 "./test" 运行它。好吧,从现在开始我会这样做。但是为什么呢?"./" 只是表示我应该运行当前目录下的内容... 当 操作系统 在搜索要运行的内容时,当前目录不总是 PATH 的一部分吗?我能不能让它变成这样呢?
是的,当前目录不是您PATH的一部分。您不希望它成为PATH的一部分,因为那样您可能会运行一个恶意程序而不知道。 如果您习惯于运行/usr/bin/grep,但您所在的目录中有个坏人放了一个恶意副本的grep,这一次您运行grep时,您就会从当前目录而不是/usr/bin/grep运行grep。 您当然可以在您的~/.profile或~/.bash_profile中将./添加到您的PATH中,但我不建议这么做。 如果这让您感觉更好,15年前我开始使用类Unix系统时也有同样的挫败感。