让我们以我的终端为例:
$ a=0 && b=1
$ echo $a $b
0 1
$ # Everything OK
$ ((a++)) && ((b++))
$ echo $a $b
1 1
$ # What? Why only a changed its value and b no?
$ ((a++)) && ((b++))
$ echo $a $b
2 2
$ # Now the value of b has changed...
有人可以让我明白为什么会这样吗?
最佳答案
a++
是后增量,即增量发生在测试值之后。
a
的测试失败,因为 a
在测试时为零。
关于bash - 为什么当我在 bash 中运行 ((a++)) && ((b++)) 时 b 并不总是改变它的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22688169/