Programmation Bash/Calculs

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche


Trois méthodes permettent d'effectuer des calculs, la première utilise la syntaxe spéciale $((operation)), la seconde utilise la commande let. La troisième utilise la commande bc, qui accepte aussi les nombres décimaux. Taper bc seul sur la ligne de commande permet de passer en mode interactif. Voici comment on peut incrémenter une variable avec chacune des méthodes :

$ a=1
$ a=$(($a + 1))
$ echo $a
2
$ a=1
$ let "a=$a + 1"
$ echo $a
2
$ a=1
$ a=$(echo "$a+1" |bc )
$ echo $a
2

mais il est possible "dans certaines circonstances" (man bash,ÉVALUATION ARITHMÉTIQUE) de réaliser des opérations plus complexes:

a=1; let a++; echo $a

let argument [argument] (cf man bash,COMMANDES INTERNES DE L'INTERPRÉTEUR)

Calcul avancé avec bc[modifier | modifier le wikicode]

En natif, Bash ne propose que des fonctionnalités de calcul limitées (additions simples ...). bc permet des calculs plus complexes, avec gestion des décimales (ne pas oublier l'option -l, exemple :

$ echo "1/3" |bc -l
.33333333333333333333

Calcul d'une racine carrée :

$ echo "sqrt(2)" |bc -l
1.41421356237309504880