Answers:
您得到0或1。在退出代码中。
bash-4.2$ test 4 -lt 6
bash-4.2$ echo $?
0
bash-4.2$ test 4 -gt 6
bash-4.2$ echo $?
1
更新:要存储退出代码以供以后使用,只需将其分配给变量:
bash-4.2$ test 4 -lt 6
bash-4.2$ first=$?
bash-4.2$ test 4 -gt 6
bash-4.2$ second=$?
bash-4.2$ echo "first test gave $first and the second $second"
first test gave 0 and the second 1
$?
变量中-至少直到它被您执行的下一个命令覆盖为止。
if test 4 -lt 6; then echo test succeeeded; else echo test failed; fi
如果要比较标准输出而不是退出代码的结果,可以使用以下expr(1)
命令:
$ expr 4 '<=' 6
1
有两件事要注意:
test
。test
为true返回0(这是退出代码的标准),但expr
为true打印1。test
内置的shell,它比coreutils软件包中的test
和expr
可执行文件要快得多(在我的机器上约为50倍)。