Dans le paragraphe expliquant l'expansion arithmétique, le guide de l'utilisateur de Bash dévoile 2 façons différentes d'évaluer une expression, la première utilise $(( EXPRESSION ))
et le second utilise $[ EXPRESSION ]
. Les deux méthodes semblent assez similaires car la seule différence que j'ai trouvée est :
$[ EXPRESSION ]
ne calculera que le résultat d'EXPRESSION, et ne fera aucun test :
Pourtant, je suis intrigué car le même document recommande d'utiliser $[ EXPRESSION ]
plutôt que $(( EXPRESSION ))
.
Dans la mesure du possible, les utilisateurs de Bash doivent essayer d'utiliser la syntaxe entre crochets :
Pourquoi voudriez-vous cela si moins de tests sont effectués ?
Réponse acceptée :
Question de duplication (avec réponse)
https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression
La page de manuel de bash v3.2.48 indique :
[…] Le format du développement arithmétique est :
$((expression))
L'ancien format $[expression] est obsolète et sera supprimé dans les prochaines versions de bash.
Donc $[…] est une ancienne syntaxe qui ne devrait plus être utilisée
En plus de cette réponse :
http://manual.cream.org/index.cgi/bash.1#27
Informations relatives aux versions bash :
Voici quelques informations sur les pages de manuel bash (il est difficile de trouver des informations sur la version à laquelle chacune fait référence) :
Lien des OP :
http://www.tldp.org/guides.html Guide Bash pour les débutants
version :1.11
auteur :Machtelt Garrels,
dernière mise à jour :décembre 2008
qqch (74.6k rep) citant bash v3.2.48
de https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression)
Remarque :Plus d'informations sur [] vs (()) ici :http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html
un lien que j'ai trouvé :
http://www.gnu.org/software/bash/manual/ dernière mise à jour le 22 août 2012
http://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion