Home  >  Q&A  >  body text

Linux上的命令:./configure 可以没有./吗?

configure 是配置命令,但是为什么一定要加上./?

PHP中文网PHP中文网2676 days ago427

reply all(5)I'll reply

  • 大家讲道理

    大家讲道理2017-04-17 15:06:15

    . 表示当前目录。

    ./configure 是文件路径,这条路径指向当前目录中的 configure 文件。由于 configure 文件具有可执行权限,因此 Shell 会执行这个文件。

    如果没有 ./,那么 Shell 会认为 configure 是一个系统命令,然而系统中往往没有这个命令。

    reply
    0
  • PHPz

    PHPz2017-04-17 15:06:15

    不指定路径的话,会去PATH里面列出来的目录找,然后发现找不到,然后没然后了。

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:06:15

    ./ = 当前目录
    ../ = 上级目录
    不仅是*nix,Windows也是这样表示的,不过换成反斜杠:. 和 ..\
    如果没有./的话,你可以试试看,会在PATH里面的目录找configure这个程序,找不到就会提示command not found。(查看PATH的方法:echo $PATH,注意大小写)

    reply
    0
  • 阿神

    阿神2017-04-17 15:06:15

    这是命令行中的参数指令的区别

    例如:

    cd test
    cd ./test
    

    效果是一样的,因为test./test在这里是作为参数传递给cd这个指令,大部分(sh、bash、zsh这样的)终端程序会默认test作为参数就是./test,并且./是指当前目录。

    但是./configure是一个指令,一般会是一个可执行文件。如果不指定路径./,终端程序不会在当前目录下搜索这个指令,而是到环境变量$PATH中的目录下搜索。

    另外可以试试:

    `pwd`/configure
    

    这样也是可以的

    reply
    0
  • ringa_lee

    ringa_lee2017-04-17 15:06:15

    与配置文件无关,简单理解:./是执行命令的意思。没看过经典的./a.out么

    都说了简单理解为执行命令(当前文件夹里的文件),你们用./用的最多的不就是这个么

    reply
    0
  • Cancelreply