bash脚本中的命令“ -ne”是什么意思?
例如,bash脚本的以下行做什么?
[ $RESULT -ne 0 ]
bash脚本中的命令“ -ne”是什么意思?
例如,bash脚本的以下行做什么?
[ $RESULT -ne 0 ]
$RESULT
“等于”0
!=
是字符串不等式。
[
运行名为的命令test
。-ne
是test
命令的参数,而不是bash,您可以在中找到其文档man test
。
[ "$RESULT" -ne 0 ]
至少是-或更好(( RESULT != 0 ))
。(更好的是-如果要从中获取此信息$?
,则可以直接在直接运行的命令的退出状态上分支,而不是运行它,而是将其退出状态捕获到变量中,然后替换该变量的值变成test
命令)。
Answers:
如果您不知道在哪里看,这是很难搜索的事情之一。
[
实际上是一个命令,而不是您期望的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实现应相当好地遵循它,也许还会有一些扩展)。
test
毕竟是POSIX命令。