Substitution d’expressions arithmétiques Substitution:d’expressions arithmétiques

bourne

posix

ksh

bash

Les caractères de substitution de commandes ont été présentés dans la section Substitution de commandes de ce chapitre. Les caractères spéciaux du shell $(( )) permettent de substituer une expression arithmétique par son résultat. Ces caractères peuvent être placés entre guillemets.

Syntaxe

posix

ksh

bash

commande argument1 $((expression-arithmétique)) ... argumentn 

Exemple

$ x=2 

Afficher la valeur de x+1, sans modifier la valeur de la variable (qui vaut toujours 2):

$ echo $((x+1))
3  

Affectations :

$ i=1
$ i=$(( $i * 100 ))        # ou    i=$(( i * 100 ))
$ echo $i
100 

Equivalent à :

$ i=`expr $i \* 100`        ou    i=$(expr $i \* 100) 

Modifier et afficher la variable x :

$ echo "x vaut : $((x=x+1))" 
x vaut : 3 
$ echo $x 
3 

Il ne faut pas confondre avec la commande (( )) qui n’affiche rien :

$ x=2 
$ ((x=x+1))    modification de la variable x
$ echo $x 
3 

Ne pas confondre (( )) et $(( )). (( )) est une commande interne au shell et $(( )) sont des caractères spéciaux du shell au même titre que `` ou $().

couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
L'arithmétique
Suivant
Arithmétique sur les flottants