1) Должен ли я использовать $ (()), если я работаю на целых числах?
>typeset -i x=0
>typeset -i y=0
>typeset -i z=0
>y=$(($x+1))
>print $y
1
>z=$x+1
>print $z
1
Как вы можете видеть, есть правильные результаты как в Z, так и в Y.
Только в случае, если переменная не была объявлена как целое число, есть разница:
>typeset j
>typeset k
>j=$(($x+1))
>print $j
1
>k=$x+1
>print $k
0+1
2) какая разница между $ (($ x + 1)) и $ ((x + 1))?
Печать $ (($ х + 1))
1
Печать $ ((х + 1))
1
Есть такая же ситуация с данным:
x = 1
Пусть x = $ x + 1
Печать $ х
2
Пусть x = x + 1
Печать $ x
3