命令“-ne”在bash脚本中的含义是什么?
例如,bash脚本中的以下行是做什么的?
[ $RESULT -ne 0 ]
如果您还不知道在哪里查找,这是难以搜索的内容之一。
[
实际上是一个命令,不像你期望的那样是bash shell语法的一部分。它恰好是Bash内置命令,因此它在Bash手册中有记录。
还有一个外部命令可以做同样的事情;在许多系统上,它由GNU Coreutils包提供。
[
相当于test
命令,除了[
需要]
作为它的最后一个参数,而test
则没有。
假设您的系统上安装了bash文档,如果您键入info bash
并搜索'test'
或'['
(撇号是搜索的一部分),您将找到[
命令的文档,也称为test
命令。如果你使用man bash
而不是info bash
,搜索^ *test
(一行开头的单词test
,跟随一些空格)。
在引用“Bash条件表达式”之后,将引导您描述-ne
,它是数值不等式运算符(“ne”代表“不相等”。相比之下,!=
是字符串不等式运算符。
您还可以在网上找到bash文档。
test
和[
)-ne
在“arg1 OP arg2”下)test
test
命令的官方定义是POSIX标准(bash实现应该合理地符合,可能有一些扩展)。
“不相等”所以在这种情况下,测试$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.