Basta usar $(()) para aritmética de shell:
a=$(($a-1))
Eu tenho a seguinte expressão:
a="2013"
Como posso alterar o valor de a para "2012" .
Você pode usar o padrão $(()) como sugerido por Joseph R. ou, com alguns shells ( ksh , bash , zsh ), você pode usar let :
$ a="2013"
$ let a--; ## Or let "a=$a-1"
$ echo "$a"
2012
Uma maneira concisa de usar a expansão aritmética seria
a=$((a-1))
ou simplesmente
((--a))
Observe que a última sintaxe não é obrigatória no POSIX, mas é suportada pelo menos em ksh e bash .
Tags ksh string arithmetic