Sut i ddefnyddio'r Cyfrifiadur "bc" mewn Sgriptiau

Gellir defnyddio'r rhaglen Linux bc fel cyfrifiannell bwrdd gwaith cyfleus neu fel iaith sgriptio fathemategol. Mae mor hawdd â galw'r gorchymyn bc trwy derfynell.

Heblaw am y cyfleustodau bc, mae'r gragen Bash yn darparu ychydig o ddulliau eraill ar gyfer perfformio gweithrediadau rhifyddol .

Nodyn: Gelwir y rhaglen bc hefyd yn gyfrifiannell sylfaenol neu gyfrifiannell y fainc.

Cystrawen Command Bc

Mae'r cystrawen ar gyfer y gorchymyn bc yn debyg i'r iaith raglennu C, ac mae amrywiaeth o weithredwyr yn cael eu cefnogi, fel adio, tynnu, neu fwy neu fwy, a mwy.

Dyma'r gwahanol switshis sydd ar gael gyda'r gorchymyn bc:

Gweler y Llawlyfr Rheoli bc hwn i gael rhagor o fanylion am sut y gallwch ddefnyddio'r cyfrifiannell sylfaenol.

bc Enghraifft Reoli

Gellir defnyddio'r cyfrifiannell sylfaenol mewn terfynell trwy fynd i mewn i bc , ac ar ôl hynny gallwch deipio mathau mathemateg rheolaidd fel hyn:

4 + 3

... i gael canlyniad fel hyn:

7

Wrth berfformio cyfres o gyfrifiadau dro ar ôl tro, mae'n gwneud synnwyr i ddefnyddio'r cyfrifiannell bc fel rhan o sgript. Byddai'r ffurf symlaf o sgript o'r fath yn edrych fel hyn:

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

Y llinell gyntaf yn unig yw'r llwybr y gweithredadwy sy'n rhedeg y sgript hon.

Mae'r ail linell yn cynnwys dau orchymyn. Mae'r gorchymyn eco yn cynhyrchu llinyn sy'n cynnwys yr ymadrodd mathemategol a gynhwysir mewn dyfynbrisiau sengl (6.5 wedi'i rannu gan 2.7, yn yr enghraifft hon). Mae'r gweithredwr bibell (|) yn pasio'r llinyn hon fel dadl i'r rhaglen bc. Mae allbwn y rhaglen bc wedyn yn cael ei arddangos ar y llinell orchymyn.

Er mwyn gweithredu'r sgript hon, agor ffenestr derfynell a mynd i'r cyfeiriadur lle mae'r sgript wedi'i leoli. Byddwn yn tybio bod y ffeil sgript yn cael ei alw'n bc_script.sh . Gwnewch yn siŵr bod y ffeil yn weithredadwy gan ddefnyddio'r gorchymyn chmod :

chmod 755 bc_script.sh

Yna fe fyddech chi'n mynd i mewn:

./bc_script.sh

Y canlyniad fyddai'r canlynol:

2

Er mwyn dangos 3 lle degol gan mai gwir yr ateb yw 2.407407 ..., defnyddiwch ddatganiad graddfa y tu mewn i'r llinyn a ddiddymir gan y dyfyniadau sengl:

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

Er mwyn gwella darllenadwyedd, gellir ailysgrifennu llinell gyda'r cyfrifiadau ar linellau lluosog. Er mwyn i chi dorri'r llinell orchymyn i linellau lluosog, gallwch roi'r gorau i ben ar ddiwedd y llinell:

adleisio 'graddfa = 3; var1 = 6.5 / 2.7; var1 '\ | bc

Er mwyn cynnwys dadleuon llinell orchymyn yn eich cyfrifiadau bc, mae'n rhaid i chi newid y dyfynbrisiau sengl i ddyfynbrisiau dwbl fel bod y symbolau paramedr llinell gorchymyn yn cael eu dehongli gan y gragen Bash:

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

Mae'r ddadl llinell orchymyn cyntaf ar gael trwy ddefnyddio'r newidyn "$ 1", mae'r ail ddadl yn defnyddio "$ 2", ac ati.

Nawr gallwch chi ysgrifennu eich swyddogaethau rhifedd unigryw eich hun mewn sgriptiau Bash ar wahân a'u ffonio o sgriptiau eraill.

Er enghraifft, os yw script1 yn cynnwys:

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

... ac mae script2 yn cynnwys

#! / 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); adleisio "var10:" $ var10;

... yna bydd gweithredu script2 yn galw script1 gan ddefnyddio $ fres amrywiol wedi'i gyfrifo yn script2 fel paramedr.