Addition en bash

L’addition est l’opération la plus simple qu’on puisse avoir envie de faire en informatique. Cependant, en bash, on ne sait jamais comment la réaliser simplement.

On serait même tenté de faire ça grâce à un autre langage (je l’ai fait encore ce matin…) :

a=1
b=`python2 -c "print $a + 2"`
echo $b

Ça fait ce qu’on veut mais ce n’est pas très élégant, et surtout, ça nous fait lancer python alors qu’on fait un script bash… mouais….

En fait, c’est super simple (mais très méconnu) : il suffit d’utiliser la syntaxe double parenthèse !

a=1
b=$((a+2))
echo $b

Cette syntaxe permet de réaliser des opérations dans une syntaxe de type C. On peut notamment utiliser les opérateurs +, -, /, * mais aussi les opérateurs incrémentaux. Voici quelques exemples :

a=$(( 1+5 ))
#a=6

a=$((8-1))
#a=7

a=$((10/2))
#a=5

a=$((3*7))
#a=21

b=$((a++))
#b=21 et a=22

c=$((--b))
#b=20 et c=20

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *