为什么我们需要使用./来执行shell脚本

时间:2010-12-29 17:22:11

标签: shell

一个愚蠢的问题,但很想知道 ./ 在我们运行目录之外的目录中执行脚本的重要性,提供完整路径

4 个答案:

答案 0 :(得分:2)

./告诉shell该命令应该在当前目录中运行。如果您没有尝试在Path中运行的命令,那么您需要告诉shell在哪里查找它。如果它位于当前目录中,那么你将使用./否则提供完整路径将执行相同的操作。

答案 1 :(得分:2)

有史以来最好的点斜线解释。

http://www.linfo.org/dot_slash.html

答案 2 :(得分:1)

每个shell都有一个PATH环境变量。该路径是可执行文件所在目录的列表。键入命令时,shell会在定义的路径中查找命令。

默认情况下,当前目录不在路径上,因此如果您键入可执行文件名称,则不会找到它(除非在某个路径上有一个带有该名称的可执行文件)。 “./”表示当前目录。

答案 3 :(得分:0)

在其中指定带斜杠的路径会导致shell跳过搜索$ PATH。因此,您提供了一个特定的路径来确保您正在运行您想要的文件(如果您的脚本名称与$ PATH中的某些内容相同)。此外,您使用./,因为当前目录不在$ PATH中 - 就像其他人说的那样。 :)