L'expansion arithmétique fournit un outil puissant pour réaliser des opérations arithmétiques (entières) 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
z=`expr $z + 3` # La commande 'expr' réalise l'expansion.
L'utilisation des apostrophes inverses dans le cadre de l'expansion arithmétique s'est trouvée dépréciée en faveur des parenthèses doubles ((...)), $((...)) ou de la très commode construction let.
z=$(($z+3)) z=$((z+3) # Correct aussi. # À l'intérieur de parenthèses # doubles, le déréférencement de # paramètres est optionnel. # $((EXPRESSION)) est une expansion arithmétique. # À ne pas confondre avec une substitution de commande. # Vous pouvez aussi utiliser des opérations à l'intérieur de parenthèses doubles # sans affectation. n=0 echo "n = $n" # n = 0 (( n += 1 )) # Incrément. # (( $n += 1 )) est incorrect! echo "n = $n" # n = 1 let z=z+3 let "z += 3" # En présence d'apostrophes doubles, les espaces sont permis #+ dans l'affectation des variables. # 'let' réalise une évaluation arithmétique, plutôt qu'une expansion à #+ proprement parler.
Exemples d'expansions arithmétiques dans des scripts: