({(a ++))在shell中的返回值

时间:2019-06-19 10:01:01

标签: shell

我遇到了shell脚本的意外行为。最后,我发现错误是由((a++))的返回码引起的。但我不知道为什么。简化的脚本如下:

set -e
a=0
((a++))
echo "here"

上面的脚本的输出为空。

然后我删除set -e并打印((a++))的返回码,然后脚本变为

 a=0
((a++))
echo $?
echo $a
echo "here"

则输出为

1
1
here

然后我再打一次((a++))

a=0
((a++))
echo $?
echo $a
((a++))
echo $?
echo $a
echo "here"

输出为:

1
1
0
2
here

为什么两次调用((a++))的返回码不同?

非常感谢!

0 个答案:

没有答案