Altera o valor de uma cadeia que representa o número

2

Eu tenho a seguinte expressão:

a="2013"

Como posso alterar o valor de a para "2012" .

    
por user1058398 28.11.2013 / 16:38

3 respostas

3

Basta usar $(()) para aritmética de shell:

a=$(($a-1))
    
por 28.11.2013 / 16:43
2

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
    
por 28.11.2013 / 16:51
0

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 .

    
por 29.11.2013 / 02:21