bash 脚本中的命令“-ne”是什么意思?
例如,bash 脚本中的以下行是做什么的?
[ $RESULT -ne 0 ]
如果您还不知道在哪里查找,这是很难搜索的内容之一。
[
实际上是一个命令,而不是您可能期望的 bash shell 语法的一部分。它恰好是 Bash 内置命令,因此它记录在 Bash 手册中。
还有一个外部命令可以做同样的事情;在许多系统上,它由 GNU Coreutils 包提供。
[
等效于test
命令,除了[
需要]
作为其最后一个参数,并且test
不需要。
假设您的系统上安装了 bash 文档,如果您键入info bash
并搜索'test'
or '['
(撇号是搜索的一部分),您将找到该[
命令的文档,也称为test
命令。如果您使用man bash
而不是info bash
,请搜索(在行首^ *test
的单词,跟在一些空格之后)。test
参考“Bash Conditional Expressions”将引导您了解-ne
,它是数字不等式运算符(“ne”代表“不等于”)。相比之下,!=
是字符串不等式运算符。
您还可以在 Web 上找到 bash 文档。
test
and [
)-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.