Je veux savoir quelle est exactement la différence entre
a=$[1+1]
a=$((1+1))
let a=1+1
a=$(expr 1 + 1 )
Tous les 4 attribuent la variable a à 2, mais quelle est la différence?
D'après ce que j'ai découvert jusqu'à présent, c'est que expr est plus lent car ce n'est pas un véritable shell intégré. Mais rien de plus que cela.
((...))
en fait, peut être utilisé pour des affectations dansbash
,ksh
etzsh
:n=10; ((n+=10)); echo $n
imprime 20 et((x=1)); echo $x
imprime 1.