BASH-Programmierung

bc, um erweiterte arithmetische Operationen in BASH . durchzuführen

bc, um erweiterte arithmetische Operationen in BASH . durchzuführen
Basic Calculator, auch bekannt als 'bc', ist ein Linux-Befehlszeilenprogramm, das verwendet wird, um erweiterte Arithmetik und Algebra in Bash-Skripten auszuführen. Es bietet viele verschiedene mathematische Funktionen wie Sinus, Cosinus, Tangens, natürlicher Logarithmus in bash. Bash kann keine erweiterten arithmetischen Operationen ausführen, wie das Vergleichen von Gleitkommazahlen; da kommt bc ins Spiel. Dem 'bc'-Befehl ging 'dc' (Desk Calculator) voraus, ein UNIX-Dienstprogramm. In diesem Tutorial verwenden wir den Befehl 'bc', um erweiterte arithmetische Operationen durchzuführen.

Durchführen grundlegender arithmetischer Operationen

Einfache arithmetische Operationen wie Addition, Subtraktion, Division und Multiplikation können mit dem Befehl 'bc' ausgeführt werden. Die Syntax zum Anwenden einfacher binärer Operatoren in bash mit dem Befehl 'bc' lautet wie folgt.

[email protected]:~$ echo “ ” | bc

In diesem Abschnitt verwenden wir den Befehl 'bc', um einfache arithmetische Operationen auszuführen.

[email protected]:~$ num1=2.35322 5
[email protected]:~$ num2=1.223353
[email protected]:~$ echo „$num1+$num2“ | bc
3.576578
[email protected]:~$ echo „$num1-$num2“ | bc
1.129872
[email protected]:~$ echo „$num1*$num2“ | bc
2.878824
[email protected]:~$ echo „$num1/$num2“ | bc
1

Im obigen Beispiel haben wir bei der Division das Ergebnis ohne Dezimalpunkte erhalten. Um das Ergebnis bis auf 'n' Dezimalstellen zu erhalten, müssen wir den Skalenwert auf 'n' setzen, wie im folgenden Beispiel gezeigt.

[email protected]:~$ echo „scale=10; $num1/$num2” | bc
1.9235862420

Alternativ können wir das Flag '-l' und den Befehl 'bc' verwenden, um eine dezimale Ausgabe zu erhalten.

[email protected]:~$ echo „$num1/$num2“ | bc -l
1.92358624207403750184

Der Befehl 'bc' kann auch verwendet werden, um eine Modulus-Division durchzuführen und die Potenz einer Zahl in Bash-Skripten zu berechnen.

[email protected]:~$ echo „10%4“ | bc
2
[email protected]:~$ echo „10^2“ | bc
100

Durchführen erweiterter 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 Vergleichsoperatoren, logische oder boolesche Operatoren, erweiterte mathematische Funktionen und bedingte Anweisungen in der bash mit dem Befehl 'bc' verwenden können.

Vergleichsoperatoren

Vergleichsoperatoren nehmen zwei Zahlen, vergleichen sie und geben dann zurück 1 oder 0 je nach vergleich. Wenn der Vergleich wahr ist, ist das Ergebnis WAHR(1); sonst ist es FALSCH(0). Im Folgenden finden Sie einige Beispiele für Vergleichsoperatoren.

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

Im Folgenden finden Sie einige Beispiele für Vergleichsoperatoren, die zusammen mit dem Befehl 'bc' verwendet werden.

[email protected]:~$ echo „5==5“ | bc
1
[email protected]:~$ echo „4!=4” | bc
0
[email protected]:~$ echo „2>5“ | bc
0
[email protected]:~$ echo „4<=4” | bc
1

Boolesche Operatoren

Boolesche oder logische Operatoren werden in bedingten Anweisungen verwendet, um einige logische Entscheidungen zu treffen. Im Folgenden sind die drei grundlegenden logischen Operatoren aufgeführt.

  • stat1 && stat2: Das wird zurückkehren 1 wenn beide Aussagen sind ungleich null.
  • stat1 || stat2: Das wird zurückkehren 1 wenn eine der Aussagen ungleich null.
  • ! Statistik: Das 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.

[email protected]:~$ echo „-5 && 0“ | bc
0
[email protected]:~$ echo „-1 || 0” | bc
1
[email protected]:~$ echo “! 0” | bc
1

Bedingte Anweisungen

Bedingte Anweisungen werden verwendet, um bestimmte Befehle abhängig von der angewendeten Bedingung auszuführen. Die angewendete Bedingung in der bedingten Anweisung umfasst logische und Vergleichsoperatoren. Es folgt ein Beispiel für bedingte Anweisungen mit dem Befehl 'bc'.

[email protected]:~$ a=15
[email protected]:~$ b=20
[email protected]:~$ echo ' if(a>b) print "a ist größer" else print "b ist größer" ' | bc -l
b ist größer

Im obigen Beispiel prüft die Anweisung, ob a größer als b ist oder nicht. Wenn a größer als b ist, wird „a ist größer“ ausgegeben; andernfalls wird "b ist größer" gedruckt.” Wir können jede Bedingung mit Booleschen und Vergleichsoperatoren im obigen Beispiel anwenden.

Mathematische Funktionen

Der Befehl 'bc' bietet auch einige eingebaute mathematische Funktionen, die wir verwenden können, ohne sie zu definieren. Im Folgenden sind einige wichtige Funktionen aufgeführt, die mit dem Befehl 'bc' in bash verwendet werden.

  • s(x): gibt den Sinus von x zurück, wobei x im Bogenmaß ist
  • c(x): gibt den Kosinus von x zurück, wobei x im Bogenmaß ist
  • Axt): gibt den Arkustangens von x zurück und das Ergebnis ist im Bogenmaß
  • Quadrat (x): gibt die Quadratwurzel von x . zurück. Es verursacht Laufzeitfehler, wenn x negativ ist
  • l(x): gibt den natürlichen Logarithmus von x . zurück.

Diese Funktionen können mit dem Befehl 'bc' verwendet werden, wie in den folgenden Beispielen gezeigt shown.

[email protected]:~$ pi=3.1415
[email protected]:~$ echo „s($pi/2)“ | bc -l
1
[email protected]:~$ echo “c($pi/2)” | bc -l
0
[email protected]:~$ 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.

[email protected]:~$ echo „sqrt(4)“ | bc -l
2

Beim Versuch, die Quadratwurzel einer negativen Zahl zu berechnen, gibt die Shell einen Laufzeitfehler aus.

[email protected]:~$ echo „sqrt(-2)“ | bc -l
Laufzeitfehler (func=(main), adr=4): Quadratwurzel einer negativen Zahl

Der natürliche Logarithmus einer Zahl kann in bash mit dem Befehl 'bc' wie folgt berechnet werden.

[email protected]:~$ echo „l(2)“ | bc -l
.69314718055994530941

Fazit

Beim Schreiben von Automatisierungsskripten in bash benötigen wir manchmal fortgeschrittene mathematische Funktionen und logische Operatoren, um Befehle auszuführen. Der Befehl 'bc' bietet viele erweiterte mathematische Funktionen und Operatoren, um arithmetische Berechnungen auf hoher Ebene durchzuführen. In diesem Tutorial wurde die Verwendung des Befehls 'bc' beschrieben, um erweiterte arithmetische Operationen in bash auszuführen.

Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....
So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...
Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...