Rechnen auf der Shell: Difference between revisions
Jump to navigation
Jump to search
(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…“) |
No edit summary |
||
Line 37: | Line 37: | ||
Noch eine Methode: |
Noch eine Methode: |
||
$ echo $((3 + 4)) |
$ echo $((3 + 4)) |
||
oder: |
|||
$ echo $[3+4] |
|||
Allerdings das gleiche Problem, Nachkommastellen gibt's keine. |
Allerdings das gleiche Problem, Nachkommastellen gibt's keine. |
Latest revision as of 21:21, 2 September 2013
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))
oder:
$ echo $[3+4]
Allerdings das gleiche Problem, Nachkommastellen gibt's keine.