Rhifeg mewn Bash

Sut i Ychwanegu Cyfrifiadau i Sgript Bash

Er bod Bash yn iaith sgriptio, mae ganddo ddigon o alluoedd holl iaith raglennu pwrpas cyffredinol. Mae hyn yn cynnwys swyddogaethau rhifyddol. Mae yna nifer o opsiynau cystrawen y gallwch eu defnyddio i ddynodi gwerthusiad rhifyddol o fynegiant. Efallai mai'r un mwyaf darllenadwy yw'r gorchymyn gosod . Er enghraifft

gadewch "m = 4 * 1024"

yn cyfrifo 4 gwaith 1024 ac yn aseinio'r canlyniad i'r "m" amrywiol.

Gallwch argraffu'r canlyniad trwy ychwanegu datganiad adleisio :

gadewch "m = 4 * 1024" echo $ m

Gallwch chi brofi hyn o'r llinell orchymyn trwy fynd i mewn i'r cod canlynol:

gadewch "m = 4 * 1024"; adleisio $ m

Gallwch hefyd greu ffeil sy'n cynnwys y gorchmynion Bash, ac os felly dylech ychwanegu llinell ar frig y ffeil sy'n pennu'r rhaglen sydd i fod i gyflawni'r cod. Er enghraifft:

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

gan dybio bod y gweithredadwyadwy Bash wedi'i leoli yn / bin / bash . Mae angen i chi hefyd osod caniatâd eich ffeil sgript fel ei fod yn weithredadwy. Gan dybio mai script1.sh yw enw'r ffeil sgript, gallwch osod y caniatâd i wneud y ffeil yn weithredadwy gyda'r gorchymyn:

chmod 777 script1.sh

Ar ôl hynny gallwch chi ei weithredu gyda'r gorchymyn:

./script1.sh

Mae'r gweithrediadau rhifyddeg sydd ar gael yn debyg i'r rhai mewn ieithoedd rhaglennu safonol fel Java a C. Ar wahân i luosi, fel y dangosir uchod, rydych yn defnyddio ychwanegu:

gadewch "m = a + 7"

neu dynnu:

gadewch "m = a - 7"

neu ranniad:

gadewch "m = a / 2"

neu modulo (y gweddill ar ôl adran gyfanrif):

gadewch "m = a% 100"

Pan fydd gweithrediad yn cael ei gymhwyso i'r un newidyn y mae'r canlyniad yn cael ei neilltuo, gallwch ddefnyddio'r gweithredwyr aseiniad llaw llaw rhifeg safonol, a elwir hefyd yn weithredwyr aseiniad cyfansawdd. Er enghraifft, ar gyfer ychwanegiad, rydym wedi:

gadewch "m + = 15"

sy'n cyfateb i "m = m + 15". Er mwyn tynnu, rydym wedi:

gadewch "m - = 3"

sy'n cyfateb i "m = m - 3". Ar gyfer rhannu rydym wedi:

gadewch "m / = 5"

sy'n cyfateb i "m = m / 5". Ac ar gyfer modulo, rydym wedi:

gadewch "m% = 10"

sy'n cyfateb i "m = m% 10".

Yn ogystal, gallwch ddefnyddio'r gweithredwyr cynnydd a gostyngiad :

gadewch "m ++"

yn cyfateb i "m = m + 1". Ac

gadewch "m--"

yn gyfwerth â "m = m - 1".

Ac yna mae'r gweithredwr "marc-cwestiwn cwestiwn" ternariaidd, sy'n dychwelyd un o ddau werthoedd yn dibynnu a yw'r amod penodedig yn wir neu'n anghywir. Er enghraifft

gadewch "k = (m <9)? 0: 1"

Mae ochr dde'r datganiad aseiniad hwn yn gwerthuso "0" os yw'r newidyn "m" yn llai na 9. Fel arall, mae'n gwerthuso i 1. Mae hyn yn golygu bod y "k" yn cael ei neilltuo "0" os yw "m" yn llai na 9 a "1" fel arall.

Ffurf gyffredinol y gweithredwr marc-colon cwestiwn yw:

cyflwr? gwerth-os-wir: gwerth-os-ffug

Rhifydd Pwynt Symudol yn Bash

Dim ond ar gyfer rhifedd cyfanrif y mae'r gweithredydd gosod yn gweithio. Ar gyfer rhifyddeg pwyntiau symudol gallwch ddefnyddio, er enghraifft, y cyfrifiannell GNU bc fel y dangosir yn yr enghraifft hon:

adleisio "32.0 + 1.4" | bc

Y gweithredydd "pibell" "|" yn pasio'r mynegiant rhifydd "32.0 + 1.4" i'r cyfrifiannell bc, sy'n dychwelyd y rhif go iawn. Mae'r gorchymyn eco yn argraffu'r canlyniad i'r allbwn safonol.

Cystrawen Amgen ar gyfer Rhifeg

Gellir defnyddio cefn-gefn (dyfynbrisiau cefn sengl) i werthuso mynegiant rhifyddol fel yn yr enghraifft hon:

adleisio `expr $ m + 18`

Bydd hyn yn ychwanegu 18 at werth y "m" amrywiol ac yna argraffwch y canlyniad.

I neilltuo'r gwerth cyfrifo i newidyn, gallwch ddefnyddio'r arwydd cyfartal heb leoedd o'i gwmpas:

m = `expr $ m + 18`

Ffordd arall i arfarnu mynegiant rhifydd yw defnyddio rhydhesi dwbl. Er enghraifft:

((m * = 4))

Bydd hyn yn cwmpasu gwerth y newidyn "m" bob tro.

Ar wahân i werthusiad rhifyddol, mae'r gragen Bash yn darparu dehongliadau rhaglennu eraill, megis dolenni , tra-dolenni , cyflyrau , a swyddogaethau ac is-ffrydiau .