Skip to main content

Ako používať kalkulačku "bc" v skriptoch

Anonim

Program Linux bc môže byť použitý ako pohodlná stolová kalkulačka alebo ako matematický skriptovací jazyk. Je to tak jednoduché ako volanie bc príkaz cez terminál.

Okrem pomôcky bc obsahuje shell Bash niekoľko ďalších metód na vykonávanie aritmetických operácií.

Poznámka: Program bc sa tiež nazýva základná kalkulačka alebo bench kalkulačka.

Syntax príkazu BC

Syntax príkazu bc je podobný programovaciemu jazyku C a podporujú sa rôzne operátory, ako napríklad pridanie, odčítanie, plus alebo mínus a ďalšie.

Jedná sa o rôzne prepínače dostupné pomocou príkazu bc:

  • -h, --help: Vytlačí toto použitie a ukončí.
  • -i, --interactive: silový interaktívny režim.
  • -l, --mathlib: Používa preddefinované matematické rutiny.
  • -q, --quiet: Nevytlačí počiatočný banner.
  • -s, --standard: Neštandardné bc konštrukty sú chyby.
  • -w, --warn: varuje pred neštandardnými bc konštruktmi.
  • -v, --version: Vytlačí informácie o verzii a ukončí.

Viac podrobností o tom, ako môžete použiť základnú kalkulačku, nájdete v tejto Príručke bc.

Príklad príkazu bc

Základná kalkulačka môže byť použitá v termináli jednoduchým zadaním bc, po ktorom môžete písať pravidelné matematické výrazy takto:

4+3

… získať takýto výsledok:

7

Pri opakovanom vykonávaní sérií výpočtov je rozumné používať kalkulačku bc ako súčasť skriptu. Najjednoduchšia forma takého skriptu by vyzerala takto:

#! / Bin / bashecho "6,5 / 2,7" bc

Prvý riadok je len cesta k spustiteľnému súboru, ktorý spúšťa tento skript.

Druhý riadok obsahuje dva príkazy. Príkaz echo generuje reťazec obsahujúci matematický výraz obsiahnutý v jednoduchých úvodzovkách (6.5 v tomto príklade rozdelených na 2,7). Operátor rúr (|) prechádza tento reťazec ako argument do programu bc. Výstup programu bc sa potom zobrazí na príkazovom riadku.

Ak chcete spustiť tento skript, otvorte okno terminálu a prejdite do adresára, kde sa nachádza skript. Predpokladáme, že sa volá súbor skriptu bc_script.sh , Skontrolujte, či je súbor spustiteľný pomocou príkazu chmod:

chmod 755 bc_script.sh

Potom zadáte:

./bc_script.sh

Výsledok by bol nasledovný:

2

Ak chcete zobraziť 3 desatinné miesta, pretože skutočná odpoveď je 2.407407 …, použite vyhlásenie o stupnici v rámci reťazca vymedzeného jednoduchými úvodzovkami:

#! / Bin / bashecho 'scale = 3; 6,5 / 2,7 ' bc

Pre lepšiu čitateľnosť môže byť riadok s výpočtami prepísaný na viacerých riadkoch. Ak chcete poraziť príkazový riadok do viacerých riadkov, môžete na koniec riadku položiť spätné lomítko:

echo 'scale = 3; var1 = 6,5 / 2,7;var1 '| bc

Ak chcete zahrnúť argumenty príkazového riadku vo vašich výpočtoch bc, musíte zmeniť jednotlivé úvodzovky do dvojitých úvodzoviek tak, aby symboly parametrov príkazového riadku boli interpretované pomocou shell Bash:

echo "stupnica = 3; var1 = 6,5 / 2,7;var2 = 14 * var1;var2 * = $ 1;var2 "| bc

Prvý argument príkazového riadku sa pristupuje pomocou premennej "$ 1", druhý argument používa "$ 2", atď.

Teraz môžete napísať vlastné prispôsobené aritmetické funkcie v samostatných Bash skriptoch a zavolať ich z iných skriptov.

Napríklad, ak skript1 obsahuje:

#! / Bin / bashecho "stupnica = 3; var1 = 6,5 / 2,7;var2 = 14 * var1;var2 * = $ 1;var2 "| bc

… a script2 obsahuje

#! / Bin / bash var0 = "100"echo "var0: $ var0"fun fun1echo "stupnica = 3; var1 = 10;var2 = var1 * $ var0;var2 "Frešo = $ (FUN1)echo "fres:" $ fresvar10 = $ (./ script1 $ fres);echo "var10:" $ var10;

… potom vykonanie skriptu2 vyvolá skript1 pomocou premennej $ fres vypočítanej v skripte2 ako parametra.