Skip to content

Hoe de bc-calculator in scripts te gebruiken

29 de juli de 2021
1839500ManworkingoniMac a9e99a68f08f4213837db69539434da4

de Linux bc programma functioneert als een handige desktopcalculator of als een wiskundige scripttaal. Het is net zo eenvoudig als bellen met de bc commando via een terminal. Naast het bc-hulpprogramma bieden de meeste shells andere methoden die rekenkundige bewerkingen uitvoeren.

BC-opdrachtsyntaxis

De syntaxis voor de opdracht bc is vergelijkbaar met de programmeertaal C. De opdracht ondersteunt verschillende schakelaars:

  • -H, –helpen: Drukt dit verbruik af en sluit af.
  • -I, –interactief: Forceert interactieve modus.
  • -l, –mathlib: Gebruikt de vooraf gedefinieerde wiskundige routines.
  • -Q, –stil: Drukt de eerste banner niet af.
  • -s, –standaard: Niet-standaard bc-constructies zijn fouten.
  • -w, –waarschuwen: waarschuwt voor niet-standaard bc-constructies.
  • -v, –versie: Drukt versie-informatie af en sluit af.

Bekijk de manpagina voor bc voor een gedetailleerd overzicht van het gebruik van de opdracht.

Voorbeeld BC-opdracht

De basiscalculator kan in een terminal worden gebruikt door simpelweg in te voeren bc, waarna u reguliere wiskundige uitdrukkingen als volgt kunt typen: 4+3

om een ​​resultaat als dit te krijgen: 7

Gebruik bc in een script

Wanneer u een reeks berekeningen herhaaldelijk uitvoert, is het logisch om de bc-rekenmachine als onderdeel van een script te gebruiken. De eenvoudigste vorm van zo’n script ziet er ongeveer zo uit: #!/bin/bash
echo ‘6.5 / 2.7’ | bc

De eerste regel is het pad van het uitvoerbare bestand dat dit script uitvoert. In dit geval de Bash-omgeving. De tweede regel bevat twee commando’s. De opdracht echo genereert een tekenreeks die de wiskundige uitdrukking tussen enkele aanhalingstekens bevat (6,5 gedeeld door 2,7, in dit voorbeeld). De pipe-operator (|) geeft deze string als argument door aan het bc-programma. De uitvoer van het bc-programma wordt vervolgens weergegeven op de opdrachtregel.

Breid de prestaties van bc . uit

Om drie decimalen weer te geven, aangezien het ware antwoord 2.407407… is, gebruikt u een schaalinstructie binnen de tekenreeks die wordt gescheiden door enkele aanhalingstekens: #!/bin/bash
echo ‘schaal=3; 6.5/2,7’ | bc

Linux bc met schaal

Voor een betere leesbaarheid kan de regel met de berekeningen over meerdere regels breken. Zet een backslash aan het einde van de regel: echo ‘scale=3;
var1 = 6,5 / 2,7;
var1 ‘
| bc

Gebruik argumenten met bc

Om argumenten in bc-berekeningen op te nemen, wijzigt u de enkele aanhalingstekens in dubbele aanhalingstekens, zodat de opdrachtregelparametersymbolen door de shell worden geïnterpreteerd: echo “scale=3;
var1 = 6,5 / 2,7;
var2 = 14 * var1;
var2 *= var1;
var2 ”
| bc

Het eerste opdrachtregelargument wordt geopend met behulp van de variabele var1, het tweede argument gebruikt var2.

Linux bc met variabelen

Bijvoorbeeld, als script1 bevat: #!/bin/bash
echo “schaal=3;
var1 = 6,5 / 2,7;
var2 = 14 * var1;
var2 *= var1;
var2 ”
| bc

en script2 bevat: #!/bin/bash
var0=”100″
echo “var0: $var0”
functie leuk1
{
echo “schaal=3;
var1 = 10;
var2 = var1 * $var0;
var2 ”
| bc
}
fres=$(leuk1)
echo “fres: “$fres
var10=$(./script1 $fres);
echo “var10: “$var10;

dan uitvoeren script2 zal aanroepen script1 een variabele gebruiken $fres berekend in script2 als parameter.

Linux bc met twee scripts