expr -1 + 1的$?返回值为什么是1,但是expr -2+ 1的$?返回值是0
来源:5-10 bash数学运算之expr(下)
再也不上QQ鸟
2020-05-23
老师请问
expr -1 + 1的KaTeX parse error: Expected 'EOF', got '返' at position 2: ?返̲回值为什么是1,但是expr …?返回值是0
[vagrant@kops-host sh_test]$ expr -1 + 1
0
[vagrant@kops-host sh_test]$ echo ?1[vagrant@kops−hostshtest]?
1
[vagrant@kops-host sh_test]?1[vagrant@kops−hostshtest] expr -2 + 1
-1
[vagrant@kops-host sh_test]$ echo $?
0
写回答
1回答
-
酷田
2020-05-26
在shell中,$?代表上一条命令的返回结果,其中0表示上条命令正确执行,1代表上条命令没有正确执行。但这也不是绝对的,例如你这里举的例子expr -2 + 1这个从数值运算来说是正确执行了,但$?确实-1。这个是shell不严谨的一面,所以我们在使用的时候一般利用expr来判断2个 数值是不是都是数字,但如果做算术运算结果,我们不会根据结果来做下一个指令的判断条件,这个没法严格解释,知道后规避使用就可以了
00
相似问题