Salut,
Dans un script bash j’ai eu besoin de faire des calculs avec des nombres non entiers.
Un truc compliqué du genre 1,4+3,5
J’ai utilisé bc avec une ligne du genre :
On ne peut pas trouver plus simple, tout en restant en bash ?
Salut,
Dans un script bash j’ai eu besoin de faire des calculs avec des nombres non entiers.
Un truc compliqué du genre 1,4+3,5
J’ai utilisé bc avec une ligne du genre :
On ne peut pas trouver plus simple, tout en restant en bash ?
Bonjour,
Il est possible d’effectuer des calculs en bash mais sans décimales.
Ceci dit, tu peux utiliser la syntaxe “Here-String” afin d’alléger ta commande :
BIDULE=$(bc <<< "scale=2; 1.4+3.5")
Note : la syntaxe $(…) est à utiliser de préférence à la syntaxe ...
[quote=“Totor”]Note : la syntaxe $(…) est à utiliser de préférence à la syntaxe ...
[/quote] Pourquoi ? Tu aurais plus d’infos quand à la différence entre ces deux syntaxes ?
La seule différence c’est que l’une peu être imbriquée alors que l’autre non.
Je suis d’avis que si tu commence à avoir à en imbriquer il y a peut être un travail de réflexion à faire sur le script.
Erreur, il peut y avoir imbrication avec les 2 syntaxes.
Mais avec l’ancienne forme (i.e cmd
) il faut protéger les `, ce qui alourdi la syntaxe.
Pour la différence :
Ce qui signifie que le caractère \ perd sa signification d’échappement et ne protège donc plus le caractère qui le suit à l’exception des 3 caractères cités.
Mais la 2nde est surtout à privilégier pour une question de lisibilité. Ce n’est peut-être qu’un détail mais avec l’ancienne forme, la délimitation de la commande peut ne pas être clairement représentée (le ` peut être celui de début ou celui de fin de délimitation)
A vrai dire, il est possible que ce soit un point de vu personnel