Rechnen auf der Shell
Jump to navigation
Jump to search
Rechnen auf der Shell ist nicht ganz so intuitiv wie mit dem Taschenrechner. Die einfachste Methode ist der bc.
$ bc
aufrufen, danach kann man loslegen:
bc 1.06.94 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 34*27+26^2-378 1216
Natürlich wie immer Punkt vor Strich. Verlassen kann man den bc mit ctrl+d. Wer dividieren will, hat allerdings verloren, denn der bc rundet auf ganze Werte. In dem Fall hilft
$ bc -l
Für scriptgebundenes Rechnen hilft diese Methode allerdings wenig. In diesem Fall wird eine echo-Ausgabe in den bc hineingepipet. Beispiel:
$ x=7 $ y=$(echo "scale=2; $x/3"|bc -l)
Mit scale= kann man die Anzahl der Nachkommastellen festlegen.
anderes Beispiel:
pi=$(echo "scale=10; 4*a(1)" | bc -l)
(wobei a = arcus tangens)
Eine andere Rechenmethode ist expr, z.B.
$ expr 3 + 4 $ expr $y - 2 $ x=$(expr $y + 42)
Der Haken: Divisionen werden gerundet:
$ expr 54 / 7 7
Noch eine Methode:
$ echo $((3 + 4))
Allerdings das gleiche Problem, Nachkommastellen gibt's keine.