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

问题描述 投票:38回答:2

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

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

[ $RESULT -ne 0 ] 
bash shell syntax
2个回答
63
投票

如果您还不知道在哪里查找,这是难以搜索的内容之一。

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

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

[相当于test命令,除了[需要]作为它的最后一个参数,而test则没有。

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

在引用“Bash条件表达式”之后,将引导您描述-ne,它是数值不等式运​​算符(“ne”代表“不相等”。相比之下,!=是字符串不等式运算符。

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

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


32
投票

“不相等”所以在这种情况下,测试$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.
© www.soinside.com 2019 - 2024. All rights reserved.