J'écris un script et j'aimerais passer les résultats de bc
dans une variable. J'ai déclaré 2 variables (var1
et var2
) et leur ai donné des valeurs. Dans mon script, je souhaite passer les résultats de bc
dans une autre variable, par exemple var3
, afin que je puisse utiliser var3
pour d’autres calculs. Jusqu'à présent, j'ai été capable d'écrire le résultat dans un fichier qui n'est pas ce que je cherchais et j'ai également réussi à faire écho le résultat dans le terminal, mais je veux juste passer le résultat à une variable à un moment donné de sorte que Je peux travailler avec cette variable.
echo "scale=2;$var1/var2" | bc
Si vous utilisez bash, vous feriez mieux d'utiliser une chaîne here plutôt qu'un tuyau comme dans:
bc <<< "scale=2;$var1/$var2"
Cela vous fera économiser un sous-shell.
Ensuite, pour stocker le résultat d'une commande, utilisez une substitution de commande:
answer=$(bc <<< "scale=2;$var1/$var2")
Si vous voulez quelque chose d'encore plus cool que bc
, voici dc (calculatrice polonaise inversée):
answer=$(dc <<< "2k $var1 $var2/p")
substitution de commande stocke le résultat d'une commande dans une variable.
var3=$(echo "scale=2;$var1/$var2" | bc)