一个愚蠢的问题,但很想知道 ./ 在我们运行目录之外的目录中执行脚本的重要性,提供完整路径
答案 0 :(得分:2)
./告诉shell该命令应该在当前目录中运行。如果您没有尝试在Path中运行的命令,那么您需要告诉shell在哪里查找它。如果它位于当前目录中,那么你将使用./否则提供完整路径将执行相同的操作。
答案 1 :(得分:2)
有史以来最好的点斜线解释。
答案 2 :(得分:1)
每个shell都有一个PATH环境变量。该路径是可执行文件所在目录的列表。键入命令时,shell会在定义的路径中查找命令。
默认情况下,当前目录不在路径上,因此如果您键入可执行文件名称,则不会找到它(除非在某个路径上有一个带有该名称的可执行文件)。 “./”表示当前目录。
答案 3 :(得分:0)
在其中指定带斜杠的路径会导致shell跳过搜索$ PATH。因此,您提供了一个特定的路径来确保您正在运行您想要的文件(如果您的脚本名称与$ PATH中的某些内容相同)。此外,您使用./,因为当前目录不在$ PATH中 - 就像其他人说的那样。 :)