Chapitre 15. Expansion arithmétique

L'expansion arithmétique fournit un un outil puissant pour réaliser des opérations arithmétiques dans des scripts. Traduire une chaîne en une expression numérique est relativement immédiat en utilisant des apostrophes inverses, des double parenthèses ou let.

Variations

Expansion Arithmétique avec apostrophes inverses (souvent utilisée en conjonction avec expr)

z=`expr $z + 3`          # 'expr' réalise l'expansion.

Expansion arithmétique avec double parenthèses, et utilisant let

L'utilisation des apostrophes inverses dans le cadre de l'expansion arithmétique s'est trouvée dépréciée en faveur des doubles parenthèses $((...)) ou de la très commode construction let .
z=$(($z+3))
# $((EXPRESSION)) est une expansion arithmétique.  # A ne pas confondre
		                                   # avec une substitution de commande.

let z=z+3
let "z += 3"  #  En présence d'apostrophes doubles, les espaces et opérateurs
              #+ spéciaux sont permis.
#  'let' réalise une évaluation arithmétique, plutôt qu'une expansion à
#+ proprement parler.
Toutes les constructions précédentes sont équivalentes. Vous pouvez utiliser celle << qui vous sied le mieux >>.

Exemples d'expansions arithmétiques dans des scripts:

  1. Exemple 12-6

  2. Exemple 10-14

  3. Exemple 26-1

  4. Exemple 26-5

  5. Exemple A-18

>
bash$ ./unalias.sh
total 6
drwxrwxr-x    2 bozo     bozo         3072 Feb  6 14:04 .
drwxr-xr-x   40 bozo     bozo         2048 Feb  6 14:04 ..
-rwxr-xr-x    1 bozo     bozo          199 Feb  6 14:04 unalias.sh

./unalias.sh: llm: command not found

Notes

[1]

Néanmoins, les alias semblent étendre les paramètres de position.