GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser $[Expr] au lieu de $((Expr)) ?

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


Linux
  1. Pourquoi eval devrait-il être évité dans Bash et que dois-je utiliser à la place ?

  2. Comment analyser les en-têtes HTTP à l'aide de Bash ?

  3. comment utiliser python2.7 pip au lieu du pip par défaut

  4. À quoi sert $# dans Bash

  5. Utilisez .bashrc sans casser sftp

Utilisez ce script Bash utile pour observer les étoiles

Vous n'aimez pas la différence ? Utilisez Meld à la place

Fonction Bash et comment l'utiliser {Variables, Arguments, Return}

Comment utiliser la commande de lecture Bash

Linux vs Mac OS :15 raisons d'utiliser Linux au lieu de Mac OS

Qu'est-ce que Zsh ? Devriez-vous l'utiliser ?