Kif tuża l-Kalkulatur "bc" fi Skripts

Il-programm Linux bc jista 'jintuża bħala kalkolatur tal-kompjuter konvenjenti jew bħala lingwa tal-kitba matematika. Huwa faċli li ċċempel il- kmand tal- bc permezz ta 'terminal.

Minbarra l-utilità bc, il-qoxra Bash tipprovdi ftit metodi oħra għat- twettiq ta 'operazzjonijiet aritmetiċi .

Nota: Il-programm bc jissejjaħ ukoll kalkolatur bażiku jew kalkolatur tal-bank.

Sintaxxa tal-Kmand tal-bc

Is- sintassi għall-kmand bc hija simili għal-lingwa ta 'programmar C, u varjetà ta' operaturi huma appoġġati, bħal żieda, tnaqqis, plus jew nieqes, u aktar.

Dawn huma l-iswiċċijiet varji disponibbli bil-kmand bc:

Ara dan il-Manwal tal-Kmand bc għal aktar dettalji dwar kif tista 'tuża l-kalkulatur bażiku.

bc Eżempju ta 'Kmand

Il-kalkulatur bażiku jista 'jintuża f'terminal billi sempliċement iddaħħal bc , wara li tista' tip espressjonijiet regolari tal-matematika bħal dan:

4 + 3

... biex tikseb riżultat bħal dan:

7

Meta twettaq serje ta 'kalkoli ripetutament, jagħmel sens li tuża l-kalkulatur bc bħala parti minn skrittura. L-aktar forma sempliċi ta 'tali kitba tħares xi ħaġa bħal din:

#! / bin / bash echo '6.5 / 2.7' | bc

L-ewwel linja hija biss it-triq l-eżekutibbli li tmexxi dan l-iskritt.

It-tieni linja fiha żewġ kmandi. Il-kmand tal- eku jiġġenera sensiela li fiha l-espressjoni matematika li tinsab fil-kwotazzjonijiet singoli (6.5 diviża bi 2.7, f'dan l-eżempju). L - operatur tal- pajp (|) jgħaddi din is-sekwenza bħala argument għall-programm bc. L-output tal-programm bc mbagħad jintwera fuq il-linja tal-kmand.

Sabiex twettaq dan l-iskritt, tiftaħ tieqa tat-terminal u tbaħħar fid-direttorju fejn tinsab l-iskrittura. Aħna nassumu li l-fajl b'kitba jissejjaħ bc_script.sh . Kun żgur li l-fajl huwa eżegwibbli bl-użu tal-kmand chmod :

chmod 755 bc_script.sh

Imbagħad int tidħol:

./bc_script.sh

Ir-riżultat ikun dan li ġej:

2

Sabiex turi 3 postijiet deċimali peress li t-tweġiba vera hija 2.407407 ..., uża dikjarazzjoni fuq skala ġewwa s-sekwenza delimitata mill-kwotazzjonijiet singoli:

iskala ta '#! / bin / bash echo = 3; 6.5 / 2.7 '| bc

Għal leġibbiltà aħjar, il-linja mal-kalkoli tista 'terġa' tiġi miktuba fuq linji multipli. Sabiex il-waqfa tal-linja tal-kmand f'bosta linji tista 'tpoġġi backslash fl-aħħar tal-linja:

skala ta 'ekosistema = 3; var1 = 6.5 / 2.7; var1 '\ bc

Biex tinkludi l-argumenti tal-linja tal-kmand fil-kalkoli bc tiegħek, għandek tibdel il-kwotazzjonijiet singoli f'kwotazzjonijiet doppji sabiex is-simboli tal-parametri tal-linja tal-kmand jiġu interpretati mill-qoxra ta 'Bash:

echo "skala = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2" \ | bc

L-ewwel argument tal-linja tal-kmand huwa aċċessat bl-użu tal-varjabbli "$ 1", it-tieni argument juża "$ 2", eċċ.

Issa tista 'tikteb il-funzjonijiet aritmetiċi personalizzati tiegħek stess f'skripts separati tal-Bash u ċempelhom minn skripts oħra.

Pereżempju, jekk script1 ikun fih:

#! / bin / bash echo "scale = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2" \ | bc

... u script2 fih

#! / bin / bash var0 = "100" echo "var0: $ var0" function fun1 {echo "scale = 3; var1 = 10; var2 = var1 * $ var0; var2" \ | bc} fres = $ (fun1) echo "fres:" $ fres var10 = $ (./ script1 $ fres); echo "var10:" $ var10;

... imbagħad l-eżekuzzjoni ta 'l-iskritt2 tinvoka l-iskrittura1 billi tuża varjabbli $ fres ikkalkulat b'ittri2 bħala parametru.