Yuav siv cov "bc" Calculator hauv cov ntawv sau

Cov kev pabcuam Linux siv bc tuaj yeem siv los ua ib lub tshuab ua tau yooj yim los yog ua cov ntawv npliag. Nws yog ib qho yooj yim li hu rau bc hais kom ua los ntawm lub davhlau ya nyob twg.

Dhau li ntawm lub chaw tso dej bc, Bash lub plhaub muab ob peb lwm txoj kev rau kev ua haujlwm ntawm kev siv zauv .

Lus Cim: Qhov kev pab cuam bc kuj tseem hu ua tus lej leb lossis lub laij lej ntsuas.

bc hais kom ua Syntax

Lub syntax rau kev hais ua bc yog zoo ib yam li cov lus C programming, thiab ntau lub lag luam muaj kev txhawb zog, xws li sib ntxiv, sib ntxiv, ntxiv los yog rho, thiab ntau dua.

Cov no yog cov keyboards ntau yam muaj nrog cov bc hais kom ua:

Saib phau npav Bc Kev Taug Txheem no kom paub meej ntxiv txog seb koj yuav siv tau cov tshuab xam phaj yooj yim li cas.

bc hais kom ua piv txwv

Qhov pib lub tshuab xam phaj yuav siv tau nyob rau hauv lub davhlau ya nyob twg los ntawm kev nkag mus rau bc , tom qab uas koj tuaj yeem ntaus cov lej lej li niaj zaus xws li:

4 + 3

... kom tau zoo li no:

7

Thaum ua tiav ntawm cov kev laij lej dua, nws ua rau kev siv lub bc calculator ua ib feem ntawm cov ntawv. Qhov yooj yim daim ntawv ntawm cov ntawv sau zoo li no yuav pom zoo li no:

#! / bin / bash ncha '6.5 \ / 2.7' | bc

Thawj kab no tsuas yog txoj kev rau tus neeg khiav dej num uas sau tsab ntawv no.

Qhov thib ob kab muaj ob nqe lus txib. Cov lus hais echo generates ib txoj hlua uas muaj cov zauv qhia muaj nyob hauv cov quotes nkaus xwb (6.5 faib los ntawm 2.7, hauv qhov ua piv txwv). Tus neeg teb xov tooj yeeb nkab (|) kis tau txoj hlua no ua ib qho kev sib cav rau txoj kev pab cuam bc. Qhov kev tso tawm ntawm qhov kev pab cuam bc ces tau muab tso rau ntawm cov kab hais kom ua.

Yuav kom ua raws li tsab ntawv no, qhib qhov chaw davhlau ya dav hlau thiab mus rau phau ntawv uas muaj tsab ntawv nyob. Peb yuav xav tias cov ntaub ntawv thov hu ua bc_script.sh . Xyuas kom tseeb tias cov ntaub ntawv yog executable siv cov chmod hais kom ua:

chmod 755 bc_script.sh

Tom qab ntawd koj yuav tsum nkag mus rau:

./bc_script.sh

Cov txiaj ntsig yuav yog cov nram qab no:

2

Yuav kom pom 3 zauv chaw txij li qhov tseeb teb 2.407407 ..., siv cov lus teev hauv cov hlua tawm ntawm cov quotes nkaus xwb:

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

Rau kev nyeem tau zoo dua, txoj kab nrog cov lus teb tau rov qab sau tau ntau yam kab. Nyob rau hauv kev txiav txim rau qhov ua txhaum qhov hais kom ua kab rau hauv ntau cov kab koj tuaj yeem muab tus backslash kawg ntawm txoj kab:

echo 'scale = 3; var1 = 6.5 / 2.7; var1 '\ | bc

Yuav kom muaj cov kab lus hais kom ua cov kab lus hauv koj bc cov lej, koj yuav tsum hloov cov quotes nkaus rau hauv ob lub quotes kom cov kab lus hais kom ua raws cov kab lus hauv npau suav:

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

Qhov kev hais thawj kab sib cav pib nkag tau siv qhov txawv ntawm "$ 1", qhov thib ob sib cav siv "$ 2", thiab lwm yam.

Tam sim no koj tuaj yeem sau koj tus kheej cov kev cai sib txuas ua ke hauv cais cov ntawv Sau thiab xa lawv los ntawm lwm cov ntawv sau tseg.

Piv txwv, yog tias tsab ntawv muaj1 muaj:

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

... thiab tsab ntawv2 muaj

#! / bin / bash var0 = "100" echo "var0: $ var0" muaj nuj nqi fun1 {echo "scale = 3; var1 = 10; var2 = var1 * $ var0; bc} fres = $ (fun1) ncha "fres:" $ fres var10 = $ (./ script1 $ fres); nawj "var10:" $ var10;

... ces executing script2 yuav ua ntawv thov tsab ntawv1 siv tus nqi $ fres computed hauv script2 li parameter.