Um mit Integer zu rechnen braucht es in der BASH bzw. in BASH-Scripts keine speziellen Tools.
user@linux: ~$ a=2
user@linux: ~$ b=3
user@linux: ~$ $(($a * $b))
20
user@linux: ~$ $(($a - $b))
-1
Um in der Bash mit Dezimalzahlen rechnen zu können, nutzt man am Besten das Tool „bc“, welches meistens bereits in der genutzten Linuxdistribution vorinstalliert ist.
user@linux: ~$ c=1.23
user@linux: ~$ d=6.54
user@linux: ~$ echo "$c + $d" | bc
7.77
user@linux: ~$ echo "$c * $d" | bc
8.04
Will man in einem Script rechnen und die Anzahl Nachkommastellen fix festlegen sieht der Befehl so aus wie unten. Es werden nochmals die vorhin verwendeten Variablen $c und $d verwendet.
#!/bin/bash
c=1.23
d=6.54
x=$(echo "scale=10; $c + $d" | bc)
y=$(echo "scale=10; $c * $d" | bc)
echo $x
echo $y
Die Ausgabe beim Ausführen des Scripts sieht dann so aus:
7.77
8.0442
Obwohl scale=10 gesetzt wurde, wird nur die benötigte Anzahl Stellen ausgegeben, die es braucht und nicht mit Nullen aufgefüllt auf 10 Nachkommastellen.