linux - 在算术表达式中,为什么递增变量会修改原始变量而其他操作不会?

标签 linux bash math expression

例子:

$ number=1
$ (( number++ ))
$ echo $number
2
$ (( number * 10 ))
$ echo $number
2

修复很简单:number=$(( number * 10 )),我只是不明白这两个操作行为不同的可能原因。

最佳答案

因为这就是它们的设计目的。

如果您想要 number+1 的值而不更改 number,您可以使用(不出所料)number+1

关于linux - 在算术表达式中,为什么递增变量会修改原始变量而其他操作不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41571043/

相关文章:

linux - 如何告诉shell命令tail不要等待参数

linux - 向上移动目录中的所有文件

python - 纯 Python 逆误差函数

math - 为什么斐波那契堆称为斐波那契堆?

Java减去没有库的月份

python - Pyinotify——目录重命名后从原始路径引发的事件

c++ - snprintf 是否可能返回以 '\0' 开头的字符数组?

linux - CMake QNX 交叉编译 find_path 和 find_library 适用于 Linux 但不适用于 Windows

python - 如何将 os.execlpe() 的 stdout stderr 重定向到文件中

java - bash 命令使用 java process builder 复制文件