Должен ли я использовать $ (()) для оценки арифметических выражений в KSH?

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

5
задан Volodymyr Bezuglyy 15 September 2011 в 10:44
поделиться