大家讲道理2017-04-17 15:06:15
.
表示当前目录。
./configure
是文件路径,这条路径指向当前目录中的 configure 文件。由于 configure 文件具有可执行权限,因此 Shell 会执行这个文件。
如果没有 ./
,那么 Shell 会认为 configure
是一个系统命令,然而系统中往往没有这个命令。
巴扎黑2017-04-17 15:06:15
./ = 当前目录
../ = 上级目录
不仅是*nix,Windows也是这样表示的,不过换成反斜杠:. 和 ..\
如果没有./的话,你可以试试看,会在PATH里面的目录找configure这个程序,找不到就会提示command not found
。(查看PATH的方法:echo $PATH
,注意大小写)
阿神2017-04-17 15:06:15
这是命令行中的参数和指令的区别
例如:
cd test
cd ./test
效果是一样的,因为test
与./test
在这里是作为参数传递给cd这个指令,大部分(sh、bash、zsh这样的)终端程序会默认test
作为参数就是./test
,并且./
是指当前目录。
但是./configure
是一个指令,一般会是一个可执行文件。如果不指定路径./
,终端程序不会在当前目录下搜索这个指令,而是到环境变量$PATH
中的目录下搜索。
另外可以试试:
`pwd`/configure
这样也是可以的
ringa_lee2017-04-17 15:06:15
与配置文件无关,简单理解:./是执行命令的意思。没看过经典的./a.out么
都说了简单理解为执行命令(当前文件夹里的文件),你们用./用的最多的不就是这个么