Maitiro Okushandisa "bc" Calculator mu Scripts

Iyo Linux program bc inogona kushandiswa seyakakodzera desktop calculator kana semutauro wemasvomhu. Zviri nyore sekutaura bc murairo kuburikidza nechitubu.

Kunze kwebc utility, Bash shell inopa dzimwe nzira shomanana dzekuita mashizha ekuita .

Cherechedza: Bc chirongwa chinonziwo "calculator" kana bench calculator.

bc Command Syntax

Izwi rechirevo che bc murairo rakafanana neC C programming mutauro, uye zvakasiyana-siyana zvevashandi zvinotsigirwa, sekuwedzera, kubvisa, pamwe kana kuderedza, nezvimwe.

Izvi ndezvipi zvakasiyana-siyana zvinowanikwa neBc command:

Ona iyi bc Mutemo Wemabhuku kuti uwane mamwe mashoko pamusoro pekuti ungashandisa sei kuverenga calculator.

bc Raira Muenzaniso

Izvozvo zvinoshandiswa pakugadzirisa zvinogona kushandiswa muchigara nekungopinda muBC , mushure mekunge iwe unogona kutora nguva dzakawanda mazwi zvakadai seizvi:

4 + 3

... kuwana mhinduro yakaita seiyi:

7

Paunenge uchitarisa ruzhinji rwekuverenga nguva dzose, zvine musoro kushandisa bc calculator sechikamu che script. Maitiro akareruka ezvinyorwa zvakadaro aizotarisa chimwe chinhu chakadai:

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

Mutsara wokutanga ndeye nzira iyo inoshandiswa inoita script iyi.

Mutsara wechipiri une mirairo miviri. Chirevo chekunyora chinoumba tambo ine mathematical kutaura inowanikwa mumashoko ari oga (6.5 akaparadzaniswa na 2.7, mumuenzaniso uyu). Iyo pipe operator (|) inodonha tambo iyi sepikisheni purogiramu yeBC. Izvo zvakabuda purogiramu yeBC zvino inoratidzwa pamutsara wemirairo.

Kuti uite script iyi, svinura mawindo ekugadzirisa uye famba uende kunotora uko script iripo. Tichatora faira script inonzi bc_script.sh . Iva nechokwadi chokuti faira iri kushandiswa uchishandisa murairo wechmod :

chmod 755 bc_script.sh

Ipapo iwe waizopinda:

./bc_script.sh

Chigumisiro chaizova chinotevera:

2

Kuti uratidze zvitatu zvemashure kubva mhinduro yechokwadi ndeye 2.407407 ..., shandisa chirevo chezinga mukati tsambo yakagadzirwa nemashoko ari oga:

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

Kuti zvive nyore kuverenga, mutsetse nehuwandu hunogona kudzokororwazve pamiganhu yakawanda. Kuti urambe mutsetse wemirairo mumiganhu yakawanda iwe unogona kuisa shure shure kwemuganhu:

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

Kuti uise mutsara wemirayiro mutsara mu bc yako yekuverenga, iwe unofanira kushandura mitsara imwe chete muzvikamu zviviri kuitira kuti mutemo wemirairo parameter zviratidzo zvinodudzirwa neBash shell:

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

Mutemo wekutanga wekutanga mutsara unowanikwa uchishandura "$ 1", nharo yechipiri inoshandisa "$ 2", nezvimwewo.

Iye zvino unogona kunyora yako maitiro ekugadzirisa arithmetic maitiro muzvinyorwa zvakasiyana zveBash uye kuvadana navo kubva kune dzimwe script.

Somuenzaniso, kana script1 ine:

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

... uye script2 ine

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

... ipapo kuite script2 kuchakumbira script1 kushandura shanduko $ fres yakanyorwa script2 se parameter.