更改表示数字的字符串的值

更改表示数字的字符串的值

我有以下表达式:

a="2013"

我怎样才能改变 的值a"2012".

答案1

简单地用于$(())shell 算术:

a=$(($a-1))

答案2

您可以使用 Joseph R. 建议的标准$(()),或者对于某些 shell ( kshbashzsh),您可以使用let

$ a="2013"
$ let a--; ## Or let "a=$a-1"
$ echo "$a"
2012

答案3

使用算术扩展的一种简洁方法是

a=$((a-1))

或者简单地

((--a))

请注意,后一种语法不是 POSIX 强制要求的,但至少受ksh和支持bash

相关内容