LES OPÉRATIONS ARITHMÉTIQUES
Telles que la majorité des langages, les opérations restes les mêmes : +, -, *, /. C'est assez standard comme syntaxe. Il y a cependant quelques différences pour certaines. Il est nécessaire de mettre le mot: let pour plusieurs opérations.
Exposant
Nous devons employer : ** si on désire effectuer l'opération x^y. La commande ci-dessous retournera 125.
let "x=5**3" echo $x
Modulo
Modulo retourne le reste de la division. On obtiendra donc 2 avec la commande suivante.
let "x=125%3" echo $x
Constante
Il est possible comme plusieurs langages, d'employer une syntaxe raccourcie pour les opérations : +, -, *, /, %. Ces instructions deviennent alors: +=, -=, *=, /=, %=.
JOURS=" Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche" for jours in `echo $JOURS` do let "x +=100$" done
Notez qu'on aurait pu changer += par une des autres instructions qu'on a vues plus haut: -=, *=...*
Contrainte
Bash convient parfaitement pour des opérations sans trop de complexité. Bash emploie des entiers 32bits pour les nombres donc il est impossible d'utiliser des nombres en dehors de l'intervalle : 2147483648, 2147483647 sans obtenir un message d'erreur. Si vous avez une version moindrement récente de Bash cette contrainte est enlevée. Les nombres à virgule flottante ne peuvent être employés. BC ou une librairie mathématique externe doit être utilisée.
BC est un langage qui permet de faire de multiples opérations avec les nombres. Il a une syntaxe similaire au C.
x=$(echo "2+1.3" | bc) echo $x
Dans le code ci-dessus, il y a quelques nouveautés. Le contenu du echo à l'intérieur de la parenthèse est envoyé à bc. L'emploi de |, envoie la sortie d'une commande à une autre. C'est ce qu'on appelle un pipe (tuyau).
Nous avons complété la partie traitant des opérations arithmétiques. Un script avec tous les exemples peut être téléchargé ici.
Article écrit par: Marc Collin
