命令“-ne”在bash脚本中的含义是什么?
例如,bash脚本中的以下行是做什么的?
[ $RESULT -ne 0 ]
答案 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
和[
)-ne
位于&#34; arg1 OP arg2 &#34;)< / LI>
test
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.