Mac 终端中 X = x + 1

Mac 终端中 X = x + 1

如何将 x + 1 的值赋给 x?我可以用其他语言做到这一点,但在 bash 中却无法弄清楚。

答案1

我刚刚测试了两种不同的方法并且都对我有用:

x=$((x+1))

...或者...

x=$((++x))

答案2

这应该可以

let x=$x+1

答案3

这可能会有用:

x = `expr $x + 1`

答案4

@Bandit 的回答很好,但我想强调一下“let”和(( ))与正常 shell 语法的区别:

let x++

导致 bash(或 ksh,或任何 POSIX shell)将表达式视为“算术评估”,其中引用的变量不需要以“$”开头。使用 (( )) 的一个优点是其他特殊标记不需要引用或转义,例如“*”表示乘法,如下所示:

(( x = x * 2 ))

我发现这种语法比使用表达式输出的 $(( )) 稍微清晰一些,例如

x=$(( x * 2 ))

相关内容