Tipp: Im Terminal rechnen

  Ralf Hersel   Lesezeit: 2 Minuten  🗪 1 Kommentar

tipp: im terminal rechnen

Echte Nerds bemühen nicht den Taschenrechner, um schnell etwas auszurechnen, sondern erledigen das im Terminal, weil das ihr natürliches Habitat ist. Wer auf der Kommandozeile rechnen möchte, hat die Wahl zwischen mehreren Möglichkeiten: die Doppelklammer in der Bash, das Expr-Kommando, das Awk-Kommando oder Python im interaktiven Modus. Sehr einfach und vielfältig ist auch der Basic Calculator 'bc'.

bc ist eine Kalkulatorsprache mit beliebiger Genauigkeit, deren Syntax, die der Programmiersprache C ähnlich ist. bc wird normalerweise entweder als mathematische Skriptsprache oder im interaktiven Modus in einer Shell verwendet. Hier nun einige Beispiele zum Rechnen im Terminal mit bc:

Um bc im interaktiven Modus zu starten, gibt man einfach bc ein:

ralf@ralf-VirtualBox:~$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.

Nun kann man mit dem Rechnen beginnen:

1+2
3

Variablen verwenden:

a=1
b=2
a+b
3

Werden Nachkommastellen benötig, kann man bc mit der Option -l starten: 'bc -l'

5/2
2.50000000000

Für höhere mathematische Funktionen wird bc mit der Option --mathlib gestartet: 'bc --mathlib'

s(1) # Sinus
.84147098480789650665
sqrt(64) # Quadratwurzel
8.00000000000000000000

In bc können auch Funktionen definiert werden:

define vorzeichen_umkehren(x) { return(x * -1) }
vorzeichen_umkehren(5)
-5

Auch rekursive Funktionsaufrufe werden unterstützt:

define fakultaet(x) { if (x <= 1) return (1); return (f(x-1) * x); }
fakultaet(7)
5040

Der interaktive Modus von bc wird mit 'quit' beendet. Wer sich für weitergehende Möglichkeiten und Beispiele interessiert, wird bei der verlinkten Quelle fündig:

Quelle: https://www.mankier.com/1/bc

Tags

Rechnen, ABSOLUTELY, Terminal, bc, WARRANTY, Modus, Kommando, Beispiel

kamome
Geschrieben von kamome am 20. Juli 2023 um 13:52

Und ohne bc erst interactiv starten zu müssen:

`calc() { bc -l