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:
- -h, - ede: èksplikasyon sa a l 'ak sòti.
- -i, - entèaktif: Fòs entèaktif mòd.
- -l, --mathlib: Li sèvi ak woutin matematik predefini.
- -q, - bon: pa enprime banyè inisyal la.
- -s, -standard: Ki pa estanda bc konstwi yo se erè.
- -w, --warn: Avèti sou ki pa estanda bc constructs.
- -V, --version: Prints vèsyon enfòmasyon ak sòti.
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:
7Lè 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' | bcLiy 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.shLè sa a, ou ta antre nan:
./bc_script.shRezilta a ta dwe sa ki annapre yo:
2Yo 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 '| bcPou 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 '\ | bcPou 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" \ | bcPremye 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.