什么“-ne”在bash中意味着什么?

时间:2013-07-17 01:14:47

标签: bash shell syntax

命令“-ne”在bash脚本中的含义是什么?

例如,bash脚本中的以下行是做什么的?

[ $RESULT -ne 0 ] 

2 个答案:

答案 0 :(得分:56)

如果你不知道在哪里寻找,这就是难以搜索的事情之一。

[实际上是一个命令,不像你期望的那样是bash shell语法的一部分。它恰好是Bash内置命令,因此它在Bash手册中有记录。

还有一个外部命令可以做同样的事情;在许多系统上,它都是由GNU Coreutils软件包提供的。

[等同于test命令,但[需要]作为其最后一个参数,而test则不需要。{/ p>

假设您的系统上安装了bash文档,如果您输入info bash并搜索'test''['(撇号是搜索的一部分),那么您就会找到[命令的文档,也称为test命令。如果您使用的是man bash而不是info bash,请搜索^ *test(一行开头的单词test,后面跟着一些空格。)

参考" Bash条件表达式"将引导您进入-ne的描述,这是数字不等式运算符(" ne"代表"不相等)。相比之下,!=字符串不等式运算符。

您还可以在网上找到bash文档。

test命令的官方定义是POSIX标准(bash实现应该合理地符合,可能还有一些扩展)。

答案 1 :(得分:31)

“不相等” 因此,在这种情况下,$RESULT被测试为不等于零。

但是,测试是数字,而不是按字母顺序完成:

n1 -ne n2     True if the integers n1 and n2 are not algebraically equal.

与之相比:

s1 != s2      True if the strings s1 and s2 are not identical.