17janv.2009
Opération mathématique simple avec Bash.

Si dans les scripts bash vous avez besoin d'effectuer des opérations mathématique il existe une méthode très simple.
Une addition:
# echo $((7+4))
# 11
Une soustraction:
# echo $((8-2))
# 6
Une multiplication:
# echo $((4*7))
# 28
Une division:
# echo $((8/2))
# 4
Il est bien entendue possible d'effectuer ces opérations avec des variables comme par exmple:
# i=4
# echo $(($i/2))
# 2
Vous pouvez aussi utiliser les opérateurs logiques.
Il est aussi possible d'utiliser le mot clef "let" exemple:
Incrémentation:
# i=4
# let i++
# echo $i
# 5
Décrémentation:
# i=5
# let i--
# echo $i
# 4

Commentaires
mardi, janvier 27 2009 | 10:06
Juste pour ceux qui chercherais une calculatrice en ligne de commande, il existe aussi la commande bc qui donne accès a un "prompt de calcul" mais aussi à l'utilisation des tubes :
$ echo 145/8*456 | bc -l
8265.00000000000000000000
(La commande dc existe aussi mais en notation polonaise ... ce qui est parfois déroutant)
mardi, février 10 2009 | 06:43
merci
mardi, février 10 2009 | 11:15
de rien
vendredi, avril 3 2009 | 04:59
developez un peu plus votre raisonnement a part ca, 10/10
lundi, août 10 2009 | 01:03
merci pour ce topic, mais faut que les mentalites change!
jeudi, décembre 3 2009 | 02:51
Un blog est un journal personnel en effet mais surtout un lieu d'échange et de partage d'idees (tout comme je fais actuellement sur le sujet) Bref, Merci pour les tuyaux, c'est tres enrichissant.
jeudi, janvier 14 2010 | 16:18
Bonjour,
je viens de lire ce que vous avez mis mais à chaque fois vous utilisez echo et moi j'aurais besoin de mettre cette valeur dans une variable.
vous faites : echo "12*3.02" | bc -l
moi je voudrais faire c1= "$a1*$P1i" | bc -l
Pourriez-vous m'aider svp.
jeudi, janvier 14 2010 | 17:47
Bonsoir,
tu peux p-e utiliser cette forme:
X=`echo "12*3.02" | bc -l`
résultat:
echo $X
Tcho!
vendredi, janvier 15 2010 | 09:47
Nickel, c'était bien ça. J'y avais pensé un moment mais lorsque j'ai inséré ce caratère, tout est devenu violet alors je me suis dit, ça ne peut pas être ça car un echo et un bc violet c'est pas bon.
Comme quoi, ne pas toujours se fier aux couleurs
Merci beaucoup !
A bientôt
Badour
mardi, avril 6 2010 | 15:40
bonjour,
comment utiliser la méthode floor en bash svp ?