Rechnen auf der Shell

From Linuxwiki
Revision as of 21:25, 9 March 2012 by Sunflower (talk | contribs) (Die Seite wurde neu angelegt: „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.0…“)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.