BC zur Durchführung fortschrittlicher arithmetischer Operationen in Bash

BC zur Durchführung fortschrittlicher arithmetischer Operationen in Bash
Basic Calculator, auch als "BC" bekannt, ist ein Linux-Befehlszeilendienstprogramm zur Durchführung erweiterter Arithmetik und Algebra in Bash-Skripten. Es liefert viele verschiedene mathematische Funktionen wie Sinus, Cosinus, Tangente, natürlicher Logarithmus bei Bash. Bash kann nicht fortgeschrittene arithmetische Operationen ausführen, wie beim Vergleich von Floats; Hier ist BC nützlich. Dem Befehl 'BC' wurde 'DC (Deskrechner), ein UNIX -Dienstprogramm, vorausgesetzt. In diesem Tutorial werden wir den Befehl "BC" verwenden, um erweiterte arithmetische Operationen durchzuführen.

Grundlegende arithmetische Operationen durchführen

Einfache arithmetische Operationen wie Addition, Subtraktion, Abteilung und Multiplikation können mit dem Befehl 'BC' durchgeführt werden. Die Syntax für die Anwendung einfacher binärer Operatoren in Bash mit dem Befehl 'BC' lautet wie folgt.

Ubuntu@Ubuntu: ~ $ echo " ”| BC

In diesem Abschnitt werden wir den Befehl "BC" verwenden, um einfache arithmetische Operationen auszuführen.

Ubuntu@Ubuntu: ~ $ num1 = 2.35322 5
Ubuntu@Ubuntu: ~ $ num2 = 1.223353
Ubuntu@Ubuntu: ~ $ echo "$ num1+$ num2" | BC
3.576578
Ubuntu@Ubuntu: ~ $ echo "$ num1- $ num2" | BC
1.129872
Ubuntu@Ubuntu: ~ $ echo "$ num1*$ num2" | BC
2.878824
Ubuntu@Ubuntu: ~ $ echo "$ num1/$ num2" | BC
1

Im obigen Beispiel erhielten wir während der Ausführung der Division das Ergebnis ohne Dezimalpunkte. Um das Ergebnis bis zu 'n' Dezimalpunkten zu erzielen, müssen wir den Skalierungswert auf 'n' festlegen, wie im folgenden Beispiel gezeigt.

Ubuntu@ubuntu: ~ $ echo “scale = 10; $ num1/$ num2 ”| BC
1.9235862420

Alternativ können wir das Flag '-l' und den Befehl 'BC' verwenden, um die Dezimalausgabe zu erhalten.

Ubuntu@Ubuntu: ~ $ echo "$ num1/$ num2" | Bc -l
1.92358624207403750184

Der Befehl 'BC' kann auch verwendet werden, um die Modulabteilung auszuführen und die Leistung einer Zahl in Bash -Skripten zu berechnen.

Ubuntu@Ubuntu: ~ $ echo "10%4" | BC
2
Ubuntu@Ubuntu: ~ $ echo "10^2" | BC
100

Durchführung fortschrittlicher arithmetischer Operationen

Bisher haben wir den Befehl "BC" verwendet, um einige grundlegende arithmetische Operationen wie Addition, Subtraktion, Multiplikation usw. durchzuführen., Jetzt; In diesem Abschnitt werden wir den Befehl "BC" verwenden, um einige erweiterte arithmetische Operationen auszuführen. Wir werden diskutieren, wie wir Vergleichsbetreiber, logische oder boolesche Operatoren, erweiterte mathematische Funktionen und bedingte Aussagen in Bash verwenden können, unter Verwendung des Befehls "BC".

Vergleichsoperatoren

Vergleichsbetreiber nehmen zwei Zahlen ein, vergleichen Sie sie und kehren dann zurück 1 oder 0 Abhängig vom Vergleich. Wenn der Vergleich wahr ist, dann ist das Ergebnis Wahr (1); Ansonsten ist es Falsch (0). Im Folgenden finden Sie einige Beispiele für Vergleichsbetreiber.

  • Num1> Num2: Dieser Vergleich wird zurückkehren 1 Wenn der Num1 ist größer als die Num2.
  • Num1 < num2: Das Ergebnis wird sein 1 Wenn der Num1 ist weniger als die Num2.
  • Num1 <= num2: Das Ergebnis wird sein 1 Wenn der Num1 ist kleiner als oder gleich dem Num2.
  • Num1> = Num2: Das Ergebnis wird sein 1 Wenn der Num1 ist größer als oder gleich dem Num2.
  • Num1 == Num2: Das Ergebnis wird sein 1 Wenn der Num1 ist gleich dem Num2.
  • Num1 != Num2: Das Ergebnis wird sein 1 Wenn beide Zahlen nicht gleich sind.

Im Folgenden finden Sie einige Beispiele für Vergleichoperatoren, die zusammen mit dem Befehl "BC" verwendet werden.

Ubuntu@Ubuntu: ~ $ echo "5 == 5" | BC
1
Ubuntu@Ubuntu: ~ $ echo “4!= 4 ”| | BC
0
Ubuntu@Ubuntu: ~ $ echo "2> 5" | BC
0
Ubuntu@Ubuntu: ~ $ echo “4<=4” | bc
1

Boolesche Operatoren

Boolesche oder logische Operatoren werden in bedingten Anweisungen verwendet, um einige logische Entscheidungen durchzuführen. Im Folgenden finden Sie die drei grundlegenden logischen Operatoren.

  • STAT1 && STAT2: Dies wird zurückkehren 1 Wenn beide Aussagen sind ungleich Null.
  • STAT1 || STAT2: Dies wird zurückkehren 1 Wenn eine der Aussagen ist ungleich Null.
  • ! Stat: Dies wird zurückkehren 1 Wenn die Aussage ist ungleich Null und umgekehrt.

Die folgenden Beispiele veranschaulichen, wie logische Operatoren mit dem Befehl "BC" verwendet werden.

Ubuntu@Ubuntu: ~ $ echo "-5 && 0" | BC
0
Ubuntu@Ubuntu: ~ $ echo “-1 || 0 ”| BC
1
Ubuntu@Ubuntu: ~ $ echo "! 0 ”| BC
1

Bedingte Aussagen

Bedingte Aussagen werden verwendet, um bestimmte Befehle abhängig von der angewandten Bedingung auszuführen. Die angewandte Bedingung in der bedingten Anweisung umfasst logische und Vergleichoperatoren. Im Folgenden finden Sie das Beispiel für bedingte Aussagen mit dem Befehl "BC".

Ubuntu@Ubuntu: ~ $ a = 15
Ubuntu@Ubuntu: ~ $ B = 20
Ubuntu@ubuntu: ~ $ echo 'if (a> b) drucken "a ist größer". Sonst drucken "B ist größer" | Bc -l
B ist größer

Im obigen Beispiel überprüft die Anweisung, ob a größer als b ist oder nicht. Wenn a größer als B ist, druckt es „A ist größer“; Andernfalls druckt es „B ist größer.”Wir können jede Bedingung mit Booleschen und Vergleichsbetreibern im obigen Beispiel anwenden.

Mathematische Funktionen

Der Befehl "BC" bietet auch einige integrierte mathematische Funktionen, die wir verwenden können, ohne sie zu definieren. Im Folgenden sind einige wesentliche Funktionen aufgeführt, die mit dem Befehl "BC" in Bash verwendet werden.

  • s (x): kehrt Sinus von x zurück, wobei X in Radians ist
  • C (x): Gibt Cosinus von x zurück, wo x in Radians ist
  • Axt): Gibt Arctangent von x zurück und das Ergebnis ist in Radiant
  • SQRT (x): Gibt die Quadratwurzel von x zurück. Es verursacht Laufzeitfehler, wenn x negativ ist
  • l (x): Gibt ein natürliches Protokoll des x zurück.

Diese Funktionen können mit dem Befehl "BC" verwendet werden, wie in den folgenden Beispielen gezeigt.

Ubuntu@Ubuntu: ~ $ pi = 3.1415
Ubuntu@Ubuntu: ~ $ echo "s ($ pi/2)" | Bc -l
1
Ubuntu@Ubuntu: ~ $ echo „C ($ pi/2)“ | Bc -l
0
Ubuntu@Ubuntu: ~ $ echo "a (1)" | Bc -l
0.7854

Die Quadratwurzel einer Zahl kann in Bash mit dem Befehl 'BC' berechnet werden, wie in der folgenden Abbildung gezeigt.

Ubuntu@Ubuntu: ~ $ echo "Sqrt (4)" | Bc -l
2

Während der Versuch, die Quadratwurzel einer negativen Zahl zu berechnen, wirft die Shell einen Laufzeitfehler aus.

Ubuntu@Ubuntu: ~ $ echo "SQRT (-2)" | Bc -l
Laufzeitfehler (func = (main), adr = 4): Quadratwurzel einer negativen Zahl

Der natürliche Logarithmus einer Zahl kann in Bash unter Verwendung des Befehls 'BC' wie folgt berechnet werden.

Ubuntu@Ubuntu: ~ $ echo "l (2)" | Bc -l
.69314718055994530941

Abschluss

Während wir Automatisierungsskripte in Bash schreiben, benötigen wir manchmal erweiterte mathematische Funktionen und logische Operatoren, um Befehle auszuführen. Der Befehl "BC" bietet viele erweiterte mathematische Funktionen und Operatoren, um hochrangige arithmetische Berechnungen durchzuführen. Dieses Tutorial wurde mit dem Befehl "BC" besprochen, um erweiterte arithmetische Operationen in Bash durchzuführen.