Aritmeetika Bashis

Kuidas lisada arvutusi Bash-skripti

Kuigi Bash on skriptikeelt, on see üldiselt kasutatav programmeerimiskeelt peaaegu kõikvõimalik. See hõlmab aritmeetilisi funktsioone. Saadaval on mitu süntaksi võimalust, mida saab kasutada väljendi aritmeetilise hindamise tekitamiseks. Võimalik, et kõige loetavam on lase käsklus. Näiteks

lase "m = 4 * 1024"

arvutab 4 korda 1024 ja määrab tulemuse muutujale "m".

Saad tulemust välja printida, lisades kajasignaali :

lase "m = 4 * 1024" echo $ m

Seda saab testida käsurealt, sisestades järgmise koodi:

lase "m = 4 * 1024"; echo $ m

Võite ka luua Bash käskude sisaldava faili, mille puhul peaksite lisama faili ülaosale rea, mis määrab programmi, mis peaks koodi täitma. Näiteks:

#! / bin / bash lase "m = 4 * 1024" echo $ m

eeldades, et Bash käivitatav fail asub / bin / bash . Peate ka määrama oma skriptifaili õigused nii, et see oleks käivitatav. Eeldades, et skripti faili nimi on script1.sh , saate määrata käsku abil faili käivitatava faili:

chmod 777 script1.sh

Seejärel saate selle käsuga käivitada:

./script1.sh

Kättesaadavad aritmeetilised toimingud on sarnased standardsete programmeerimiskeelte, nagu Java ja C, funktsioonidega. Lisaks ülalkirjeldatud korduskasutusele kasutate lisaks järgmist:

lase "m = a + 7"

või lahutamine:

lase "m = a - 7"

või jagunemine:

lase "m = a / 2"

või modulo (ülejäänud täisarvulise jaotuse järel):

lase "m = a% 100"

Kui toimingut rakendatakse samale muutujale, mille tulemuseks on määratud, võite kasutada standardseid aritmeetilisi stenograafi määramise operaatoreid, mida nimetatakse ka ühendi määramise operaatoriteks. Näiteks, lisaks oleme:

lase "m + = 15"

mis on samaväärne "m = m + 15". Tühistamiseks oleme:

lase "m - = 3"

mis on samaväärne "m = m - 3". Jaotuse jaoks oleme:

lase "m / = 5"

mis on samaväärne "m = m / 5". Ja modulo põhjal oleme:

lase "m% = 10"

mis on samaväärne "m = m% 10".

Lisaks võite kasutada juurdekasvu ja vähendamise operaatorit:

lase "m ++"

on samaväärne "m = m + 1". Ja

lase "m--"

on samaväärne "m = m - 1".

Ja siis on kolmekordne "question mark-colon" operaator, mis tagastab ühe kahest väärtusest sõltuvalt sellest, kas määratud tingimus on tõene või vale. Näiteks

lase "k = (m <9)" 0: 1 "

Selle määramise avaldise parempoolne osa hindab väärtuseks "0", kui muutuja "m" on väiksem kui 9. Vastasel korral hindab see väärtust 1. See tähendab, et muutuja "k" on määratud "0", kui "m" on väiksem kui 9 ja "1" muul viisil.

Küsimustikust käärsoole operaatori üldine vorm on:

seisund? value-if-true: value-if-false

Ujukoma aritmeetika Bashis

Lati käitaja töötab ainult täisarvulise aritmeetika korral. Ujukoma aritmeetika jaoks võite kasutada näiteks GNU bc kalkulaatorit, nagu on näidatud käesolevas näites:

kaja "32,0 + 1,4" | bc

"Toru" operaator "|" edastab aritmeetiline väljend "32.0 + 1.4" bc kalkulaatorile, mis tagas tegelik arv. Echo- käsk prindib tulemuse standardväljundisse.

Alternatiivne aritmeetika süntaks

Selles näites saab aritmeetilise väljendi hindamiseks kasutada tagumikke (tagasi ühe hinnapakkumisi):

echo `expr $ m + 18`

See lisab muutuja "m" väärtusele 18 ja seejärel tulemust välja printida.

Arvutava väärtuse määramiseks muutuja jaoks saate kasutada võrdusmärki ilma tühikuteta:

m = `expr $ m + 18`

Teine viis aritmeetiliste väljendite hindamiseks on kasutada topeltklõpsu. Näiteks:

((m * = 4))

See muutuja "m" väärtus on neljakordistunud.

Lisaks aritmeetilistele hindamistele sisaldab Bashi kest teisi programmeerimiskonstruktsioone, näiteks for-loops , the -loops , conditionals , functions and subroutines .