« Programmation Bash/Calculs » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 1 :
TroisDeux méthodes permettent d'effectuer des calculs, la première utilise la syntaxe spéciale <code>$((operation))</code>, la seconde utilise la commande <code>let</code>. LaNous troisièmeallons utilisemontrer lacomment commandeil <code>bc</code>,est qui accepte aussi les nombres décimaux. Taper <code>bc</code> seul sur la ligne de commande permet de passer en mode interactif. Voici comment on peutpossible d'incrémenter une variable avec chacune des deux méthodes :
{{Programmation Bash}}
 
Trois méthodes permettent d'effectuer des calculs, la première utilise la syntaxe spéciale <code>$((operation))</code>, la seconde utilise la commande <code>let</code>. La troisième utilise la commande <code>bc</code>, qui accepte aussi les nombres décimaux. Taper <code>bc</code> 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 :
<pre>
$ a=1
Ligne 8 ⟶ 7 :
2
</pre>
 
<pre>
$ a=1
Ligne 13 :
$ echo $a
2
</pre>
<pre>
$ a=1
$ a=$(echo "$a+1" |bc )
$ echo $a
2
</pre>
 
mais il est possible "dans certaines circonstances" (man bash,ÉVALUATION ARITHMÉTIQUE) de réaliser des opérations plus complexes:
<pre>
a=1; let a++; echo $a
</pre>
 
<b>let</b> <i>argument [argument]</i> (cf man bash,COMMANDES INTERNES DE L'INTERPRÉTEUR)
== Calcul avancé avec <code>bc</code> ==
 
En natif, Bash ne propose que des fonctionnalités de calcul limitées (additions simples ...). <code>bc</code> permet des calculs plus complexes, avec gestion des décimales (ne pas oublier l'option <code>-l</code>, exemple :
 
<pre>
$ echo "1/3" |bc -l
.33333333333333333333
</pre>
 
Calcul d'une racine carrée :
<pre>
$ echo "sqrt(2)" |bc -l
1.41421356237309504880
</pre>
 
[[Catégorie:Programmation Bashbash-ksh (livre)]]