当前位置:  开发笔记 > 编程语言 > 正文

gnuwin32程序是什么:[.exe吗?

如何解决《gnuwin32程序是什么:[.exe吗?》经验,为你挑选了2个好方法。

查看gnuwin32/bin目录,有一个奇怪的程序文件名为 [.exe

我在文档,gnuwin32.sourceforge.net或谷歌搜索中找不到它,所以我运行它得到:

$ [
[: missing `]'
$

所以我把它作为参数并得到了

$ [ ]

$

它没有抱怨,所以我认为它是在正确的轨道上.我试过了:

$ [ hello ]

再次,没有抱怨.所以我尝试了一个算术表达式:

$ [ 1 + 1 ]
[: +: binary operator expected
$

我尝试了一堆不同的组合,包括前缀和后缀表示法,但似乎没有任何效果.这件事做什么?



1> 小智..:
test a

==

[ a ]

这只是糖

编辑:澄清一下,这是条件语法,例如["a"="a"]



2> Cristi Diaco..:

它用于评估条件表达式.
它等同于(可能是符号链接?)test可执行文件.
联机帮助页就在这里.

你可能会在很多bash脚本中看到这个:

if [ "$LOGNAME" = "scott" ]
then
    echo "Logged in as Scott"
else
     echo "incorrect user"
fi

有趣的是,[它不是bash语言的一部分,它实际上是一个可执行文件,其返回码由'IF'使用.这就是为什么[第一个参数之后的空格是强制性的 - 如果省略它,脚本将尝试执行["$LOGNAME"并失败.

你无法用它进行算术运算 - expr用于此(见这里).但是,您可以测试各种文件属性(它是否存在?它是什么类型?等)以及对字符串和数字使用比较运算符.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有