扫码关注官方订阅号
configure 是配置命令,但是为什么一定要加上./?
认证高级PHP讲师
. 表示当前目录。
.
./configure 是文件路径,这条路径指向当前目录中的 configure 文件。由于 configure 文件具有可执行权限,因此 Shell 会执行这个文件。
./configure
如果没有 ./,那么 Shell 会认为 configure 是一个系统命令,然而系统中往往没有这个命令。
./
configure
不指定路径的话,会去PATH里面列出来的目录找,然后发现找不到,然后没然后了。
./ = 当前目录../ = 上级目录不仅是*nix,Windows也是这样表示的,不过换成反斜杠:. 和 ..\如果没有./的话,你可以试试看,会在PATH里面的目录找configure这个程序,找不到就会提示command not found。(查看PATH的方法:echo $PATH,注意大小写)
command not found
echo $PATH
这是命令行中的参数和指令的区别
例如:
cd test cd ./test
效果是一样的,因为test与./test在这里是作为参数传递给cd这个指令,大部分(sh、bash、zsh这样的)终端程序会默认test作为参数就是./test,并且./是指当前目录。
test
./test
但是./configure是一个指令,一般会是一个可执行文件。如果不指定路径./,终端程序不会在当前目录下搜索这个指令,而是到环境变量$PATH中的目录下搜索。
$PATH
另外可以试试:
`pwd`/configure
这样也是可以的
与配置文件无关,简单理解:./是执行命令的意思。没看过经典的./a.out么
都说了简单理解为执行命令(当前文件夹里的文件),你们用./用的最多的不就是这个么
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
.表示当前目录。./configure是文件路径,这条路径指向当前目录中的 configure 文件。由于 configure 文件具有可执行权限,因此 Shell 会执行这个文件。如果没有
./,那么 Shell 会认为configure是一个系统命令,然而系统中往往没有这个命令。不指定路径的话,会去PATH里面列出来的目录找,然后发现找不到,然后没然后了。
./ = 当前目录
../ = 上级目录
不仅是*nix,Windows也是这样表示的,不过换成反斜杠:. 和 ..\
如果没有./的话,你可以试试看,会在PATH里面的目录找configure这个程序,找不到就会提示
command not found。(查看PATH的方法:echo $PATH,注意大小写)这是命令行中的参数和指令的区别
例如:
效果是一样的,因为
test与./test在这里是作为参数传递给cd这个指令,大部分(sh、bash、zsh这样的)终端程序会默认test作为参数就是./test,并且./是指当前目录。但是
./configure是一个指令,一般会是一个可执行文件。如果不指定路径./,终端程序不会在当前目录下搜索这个指令,而是到环境变量$PATH中的目录下搜索。另外可以试试:
这样也是可以的
与配置文件无关,简单理解:./是执行命令的意思。没看过经典的./a.out么
都说了简单理解为执行命令(当前文件夹里的文件),你们用./用的最多的不就是这个么