bash - 为什么当我在 bash 中运行 ((a++)) && ((b++)) 时 b 并不总是改变它的值?

标签 bash command-line

让我们以我的终端为例:

$ 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/

相关文章:

c++ - 如何通过 bash shell cin a c++ 字符串 >= 1024 个字符?

arrays - 将字符串拆分为数组(以 "\"分隔)

java - java类路径规范中 "*:"的含义

使用列命令的 Bash 错误 : 'column: line too long'

windows - 咕噜声执行停止批处理脚本

bash - 如何在 bash 中将包含空格的变量作为循环参数传递?

java - 典型的预构建 Nagios 插件(例如 check_load)的源代码是什么?

linux - bash 脚本中的 ` 是什么?

.net - 向 VB.Net 应用程序添加命令行参数

php - Base64 和 ROT13 在单个 shell 命令中解码