Rechnen mit der Bash

Aus Xinux Wiki
Version vom 24. Mai 2023, 18:30 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ =Es gibt mehrer Varianten= ; '''$(())''' ; '''expr''' ; '''bc''' ==Arithmetische Substitution== Die $(()) oder $[ ] ist die arithmetische Erweiterungsmethode…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Es gibt mehrer Varianten

$(())
expr
bc

Arithmetische Substitution

Die $(()) oder $[ ] ist die arithmetische Erweiterungsmethode der Bash.

  • echo $((7+5))
12
  • echo $((7*5))
35
  • echo $((7/5))
1
  • echo $((7-5))
2
  • echo $((7%5))
2
  • ZAHL=5 ; ZAHL=$(($ZAHL + 1)) ; echo $ZAHL
6

Der expr-Befehl

Erlaubt die Durchführung komplexer Stringoperationen und Ganzzahlarithme­tik.

  • expr 7 + 5
12
  • expr 7 \* 5
35
  • expr 7 / 5
1
  • expr 7 – 5
2
  • expr 7 % 5
2
  • ZAHL=5 ; ZAHL=$(expr $ZAHL + 1) ; echo $ZAHL
6

bc - interaktiver Taschenrechner

  • bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
12 * 3
36
quit

Mit der Option -l wird die mathematische Bibliothek eingeschaltet

  • bc -l
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
7 / 5
1.40000000000000000000
quit

Da bc auch von STDIN lesen kann, kann man es auch in Shellskripten benutzen.

  • echo 7/5 | bc -l
1.40000000000000000000
  • ZAHL=5 ; ZAHL=$(echo $ZAHL+1 | bc -l) ; echo $ZAHL
6