`command` 和 `./command` 有什么区别?

hgu*_*ser 3 command-line executable execute-command

我发现有时我使用command来运行命令,但有时我使用./command来运行另一个命令。

有什么不同?

Eli*_*gan 10

运行xxPATH环境变量中列出的目录中搜索名为xx. 它找到的第一个可执行文件(无论是二进制文件还是脚本),它就会执行。它并没有看起来在当前目录下,除非.被列入PATH,这是推荐使用。

如果存在具有该名称的可执行文件,则运行./xx运行xx位于当前目录中的名为的文件。

要通过指定位置来运行文件,您必须包含一个/符号。如果/命令中没有 no (实际上是命令的第一个字,它标识要执行的文件的名称),它会搜索PATH它。如果有/,则使用命令的第一个字来按位置引用特定文件。

因此,./xx不同于xx因为/它包含的 。

当然,/xx不能正常工作-它会尝试运行一个名为xx位于根目录下,/。因为.代表当前目录,./xxxx那里运行。