KOUMAN POU SÈVI AK "bc" calculator a nan Scripts

Pwogram Linux la bc ka itilize kòm yon kalkilatris Desktop pratik oswa kòm yon lang scripting matematik. Li nan kòm fasil tankou rele bc lòd la nan yon tèminal.

Anplis bc sèvis piblik la, Shell bach la bay kèk metòd lòt pou fè operasyon aritmetik .

Remak: Se pwogram nan bc yo te rele tou kalkilatris debaz oswa kalkilatris ban.

bc Kòmandman sentaks

Sentaks la pou kòmandman bc la sanble ak langaj C pwogram lan, ak yon varyete de operatè yo sipòte, tankou adisyon, soustraksyon, plis oswa mwens, ak plis ankò.

Sa yo se switch yo divès kalite ki disponib ak lòd la bc:

Al gade nan sa a Manual Command bc pou plis detay sou ki jan ou ka itilize kalkilatris debaz la.

bc Kòmandman Egzanp

Ka kalkilatris debaz la dwe itilize nan yon tèminal pa tou senpleman k ap antre nan bc , apre yo fin ki ou ka tape ekspresyon matematik regilye tankou sa a:

4 + 3

... pou jwenn yon rezilta tankou sa a:

7

Lè fè yon seri de kalkil repete, li fè sans yo sèvi ak kalkilatris a bc kòm yon pati nan yon script. Fòm ki pi senp nan tankou yon script ta gade yon bagay tankou sa a:

#! / bin / bach eko '6.5 / 2.7' | bc

Liy nan premye se jis chemen ègzèkutabl la ki kouri script sa a.

Dezyèm liy lan gen de kòmandman. Kòmandman an eko jenere yon fisèl ki gen ekspresyon an matematik ki genyen nan quotes sèl (6.5 divize pa 2.7, nan egzanp sa a). Operatè a tiyo (|) pase fisèl sa a kòm yon agiman nan pwogram nan bc. Se pwodiksyon an nan pwogram nan bc Lè sa a, parèt sou liy lan bay lòd.

Yo nan lòd yo egzekite sa a script, louvri yon fenèt tèminal ak navige nan anyè a ki kote script la sitiye. Nou pral asime dosye a script yo rele bc_script.sh . Asire w ke dosye a se ègzèkutabl lè l sèvi avèk lòd la chmod :

chmod 755 bc_script.sh

Lè sa a, ou ta antre nan:

./bc_script.sh

Rezilta a ta dwe sa ki annapre yo:

2

Yo nan lòd yo montre 3 kote desimal depi repons lan vre se 2.407407 ..., sèvi ak yon deklarasyon echèl andedan fisèl la delimite pa quotes yo sèl:

#! / bin / bach eko 'echèl = 3; 6.5 / 2.7 '| bc

Pou pi bon lizibilite, liy lan ak kalkil yo ka reekri sou liy miltip. Nan lòd kraze a liy lan lòd nan liy miltip ou ka mete yon backslash nan fen liy lan:

echo 'echèl = 3; var1 = 6.5 / 2.7; var1 '\ | bc

Pou enkli agiman liy lòd nan kalkil bc ou a, ou oblije chanje quotes yo sèl nan quotes doub pou ke lòd senbòl liy lòd yo entèprete pa koki bach la:

eko "echèl = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2" \ | bc

Premye agiman liy lan lòd jwenn aksè nan varyab la "$ 1", dezyèm agiman an itilize "$ 2", elatriye.

Koulye a, ou ka ekri pwòp fonksyon aritmetik pèsonalize ou nan Scripts bach separe epi rele yo nan lòt Scripts.

Pa egzanp, si script1 gen ladan:

#! / bin / bash eko "echèl = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2" \ | bc

... ak script2 gen ladan

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

... Lè sa a, egzekite script2 pral envoke script1 lè l sèvi avèk yon varyab $ calcules nan script2 kòm paramèt.