BASH-programmering

bc om geavanceerde rekenkundige bewerkingen uit te voeren in BASH

bc om geavanceerde rekenkundige bewerkingen uit te voeren in BASH
Basic Calculator, ook bekend als 'bc', is een Linux-opdrachtregelprogramma dat wordt gebruikt om geavanceerde rekenkunde en algebra uit te voeren in bash-scripts. Het biedt veel verschillende wiskundige functies zoals sinus, cosinus, tangens, natuurlijke logaritme in bash. Bash kan geen geavanceerde rekenkundige bewerkingen uitvoeren, zoals het vergelijken van floats; dat is waar bc van pas komt. De opdracht 'bc' werd voorafgegaan door 'dc' (Desk Calculator), een UNIX-hulpprogramma. In deze zelfstudie gebruiken we de opdracht 'bc' om geavanceerde rekenkundige bewerkingen uit te voeren.

Basis rekenkundige bewerkingen uitvoeren

Eenvoudige rekenkundige bewerkingen zoals optellen, aftrekken, delen en vermenigvuldigen kunnen worden uitgevoerd met de opdracht 'bc'. De syntaxis voor het toepassen van eenvoudige binaire operatoren in bash met het 'bc'-commando is als volgt:.

[e-mail beveiligd]:~$ echo “ ” | bc

In deze sectie zullen we de opdracht 'bc' gebruiken om eenvoudige rekenkundige bewerkingen uit te voeren.

[e-mail beveiligd]:~$ num1=2.35322 5
[e-mail beveiligd]:~$ num2=1.223353
[e-mail beveiligd]:~$ echo “$num1+$num2” | bc
3.576578
[e-mail beveiligd]:~$ echo “$num1-$num2” | bc
1.129872
[e-mail beveiligd]:~$ echo “$num1*$num2” | bc
2.878824
[e-mail beveiligd]:~$ echo “$num1/$num2” | bc
1

In het bovenstaande voorbeeld, terwijl we deling uitvoerden, kregen we het resultaat zonder decimalen. Om het resultaat tot 'n' decimalen te krijgen, moeten we de schaalwaarde instellen op 'n' zoals in het volgende voorbeeld wordt getoond.

[e-mail beveiligd]:~$ echo “scale=10; $num1/$num2” | bc
1.9235862420

Als alternatief kunnen we de vlag '-l' en de opdracht 'bc' gebruiken om decimale uitvoer te krijgen.

[e-mail beveiligd]:~$ echo “$num1/$num2” | bc -l
1.92358624207403750184

Het 'bc'-commando kan ook worden gebruikt om modulusdeling uit te voeren en de macht van een getal in bash-scripts te berekenen.

[e-mail beveiligd]:~$ echo “10%4” | bc
2
[e-mail beveiligd]:~$ echo "10^2" | bc
100

Geavanceerde rekenkundige bewerkingen uitvoeren

Tot nu toe hebben we de opdracht 'bc' gebruikt om enkele rekenkundige basisbewerkingen uit te voeren, zoals optellen, aftrekken, vermenigvuldigen, enz., nu; in deze sectie zullen we het 'bc'-commando gebruiken om enkele geavanceerde rekenkundige bewerkingen uit te voeren. We zullen bespreken hoe we vergelijkingsoperatoren, logische of booleaanse operatoren, geavanceerde wiskundige functies en voorwaardelijke uitspraken in bash kunnen gebruiken met behulp van het 'bc'-commando.

Vergelijkingsoperators

Vergelijkingsoperators nemen twee getallen, vergelijken ze en keren terug 1 of 0 afhankelijk van de vergelijking. Als de vergelijking waar is, dan is het resultaat WAAR(1); anders is het ONWAAR(0). Hieronder volgen enkele voorbeelden van vergelijkingsoperatoren:.

  • num1 > num2: Deze vergelijking komt terug 1 als de aantal1 is groter dan de aantal2.
  • aantal1 < num2: Het resultaat zal zijn 1 als de aantal1 is minder dan de aantal2.
  • aantal1 <= num2: Het resultaat zal zijn 1 als de aantal1 is kleiner dan of gelijk aan de aantal2.
  • aantal1 >= aantal2: Het resultaat zal zijn 1 als de aantal1 is groter dan of gelijk aan de aantal2.
  • aantal1 == aantal2 : Het resultaat zal zijn 1 als de aantal1 is gelijk aan de aantal2.
  • aantal1 != aantal2: Het resultaat zal zijn 1 als beide getallen niet gelijk zijn.

Hieronder volgen enkele voorbeelden van vergelijkingsoperatoren die samen met de opdracht 'bc' worden gebruikt.

[e-mail beveiligd]:~$ echo “5==5” | bc
1
[e-mail beveiligd]:~$ echo “4!=4” | bc
0
[e-mail beveiligd]:~$ echo “2>5” | bc
0
[e-mail beveiligd]:~$ echo “4<=4” | bc
1

Booleaanse operatoren

Booleaanse of logische operatoren worden gebruikt in voorwaardelijke instructies om enkele logische beslissingen uit te voeren. Hieronder volgen de drie fundamentele logische operatoren:.

  • stat1 && stat2: Dit komt terug 1 als beide uitspraken zijn niet-nul.
  • stat1 || stat2: Dit komt terug 1 als een van de uitspraken is niet-nul.
  • ! stat: Dit komt terug 1 als de verklaring is niet-nul en vice versa.

De volgende voorbeelden illustreren hoe logische operatoren worden gebruikt met de opdracht 'bc'.

[e-mail beveiligd]:~$ echo "-5 && 0" | bc
0
[e-mail beveiligd]:~$ echo “-1 || 0” | bc
1
[e-mail beveiligd]:~$ echo “! 0” | bc
1

Voorwaardelijke stellingen

Voorwaardelijke instructies worden gebruikt om specifieke opdrachten uit te voeren, afhankelijk van de toegepaste voorwaarde. De toegepaste voorwaarde in de voorwaardelijke instructie omvat logische en vergelijkingsoperatoren. Hieronder volgt het voorbeeld van voorwaardelijke instructies met het 'bc'-commando.

[e-mail beveiligd]:~$ a=15
[e-mail beveiligd]:~$ b=20
[email protected]:~$ echo ' if(a>b) print “a is groter” else print “b is groter” ' | bc -l
b is groter

In het bovenstaande voorbeeld controleert de instructie of a groter is dan b of niet. Als a groter is dan b, wordt "a is groter" afgedrukt; anders wordt "b is groter" afgedrukt."We kunnen elke voorwaarde toepassen met behulp van booleaanse en vergelijkingsoperatoren in het bovenstaande voorbeeld.

Wiskundige functies

Het 'bc'-commando biedt ook enkele ingebouwde wiskundige functies die we kunnen gebruiken zonder ze te definiëren. Hieronder volgen enkele essentiële functies die worden gebruikt met het 'bc'-commando in bash.

  • s(x): geeft sinus van x terug waarbij x in radialen is
  • c(x): geeft cosinus van x terug waarbij x in radialen is
  • bijl): retourneert arctangens van x en het resultaat is in radialen
  • sqrt(x): geeft de vierkantswortel van x . terug. Het veroorzaakt een runtime-fout wanneer x negatief is
  • l(x): geeft het natuurlijke logboek van de x . terug.

Deze functies kunnen worden gebruikt met het 'bc'-commando, zoals weergegeven in de volgende voorbeelden.

[e-mail beveiligd]:~$ pi=3.1415
[e-mail beveiligd]:~$ echo "s($pi/2)" | bc -l
1
[e-mail beveiligd]:~$ echo “c($pi/2)” | bc -l
0
[e-mail beveiligd]:~$ echo “a(1)” | bc -l
0.7854

De vierkantswortel van een getal kan in bash worden berekend met behulp van het 'bc'-commando, zoals weergegeven in de volgende afbeelding.

[e-mail beveiligd]:~$ echo “sqrt(4)” | bc -l
2

Terwijl hij probeert de vierkantswortel van een negatief getal te berekenen, geeft de shell een runtime-fout.

[e-mail beveiligd]:~$ echo “sqrt(-2)” | bc -l
Runtime-fout (func=(main), adr=4): vierkantswortel van een negatief getal

De natuurlijke logaritme van een getal kan als volgt in bash worden berekend met het 'bc'-commando:.

[e-mail beveiligd]:~$ echo "l(2)" | bc -l
.69314718055994530941

Conclusie

Bij het schrijven van automatiseringsscripts in bash hebben we soms geavanceerde wiskundige functies en logische operators nodig om opdrachten uit te voeren. De opdracht 'bc' biedt veel geavanceerde wiskundige functies en operators om rekenkundige berekeningen op hoog niveau uit te voeren. Deze tutorial besprak het gebruik van de opdracht 'bc' om geavanceerde rekenkundige bewerkingen uit te voeren in bash.

Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...