Arithmetika ao Bash

Ahoana ny fomba hampidinana ny faktiora amin'ny batch script

Na dia fitenin'ny scripting aza i Bash, dia manana ny fahaiza-manao amin'ny programming tanjona amin'ny ankapobeny. Tafiditra ao anatin'izany ireo rafitra arithmetika. Misy safidy maromaro maromaro azonao ampiasaina hampandrosoana ny fanombanana arithmetika amin'ny fomba fiteny iray. Angamba ny iray azo vakina indrindra dia ilay baiko alefa . Ohatra

aoka "m = 4 * 1024"

dia hanatontosa in-4 heny 1024 ary hanendry ny valin'ny "m".

Azonao atao ny mamoaka ny valiny amin'ny fametrahana fanambaràna mitovitovy :

aoka "m = 4 * 1024" echo $ m

Azonao atao ny mamandrika izany amin'ny alalan'ny baikon'ny baiko amin'ny fidirana amin'ity code manaraka ity:

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

Azonao atao ihany koa ny mamorona ny rakitra misy ny baiko Bash, ka raha tokony ampidirinao ny andalana ao an-tampon'ny rakitra izay mamaritra ny programa izay tokony hampiharina ilay code. Ohatra:

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

Ny fiheverana ny bug executable dia hita ao / bin / bash . Ilainao koa ny mametraka ny fahazoan-dàlan'ny rakitra scripto mba hahafahana manatanteraka azy. Ny fanamarihana ny anaran-tsoratra script dia script1.sh , azonao atao ny mametraka ny fahazoan-dàlana hamoaka ilay doka atao amin'ny baiko:

chmod 777 script1.sh

Aorian'izany dia afaka manatanteraka izany amin'ny baiko ianao:

./script1.sh

Ny fomba fiasa arithmetika azo ampiasaina dia mitovitovy amin'ireo eo amin'ny fiteny fandaharana serivisy tahaka an'i Java sy C. Ankoatra ny fampitomboana, araka ny aseho etsy ambony dia mampiasa ny fanampiana ianao:

"m = a + 7"

na fanintelony:

"m = a - 7"

na fizarana:

"m = a / 2"

na modulo (ny sisa aorian'ny fizarana iray manontolo):

aoka "m = a% 100"

Raha toa ka ampiharina amin'ny fari-pivoarana izay ampiasaina ny vokatra dia azonao ampiasaina ireo mpandraharaha amin'ny asa soratra arithmetika, izay antsoina koa hoe mpanelanelana. Ohatra, ankoatra izay, manana:

"m + = 15"

izay mitovy amin'ny "m = m + 15". Ho an'ny fanintelomany dia manana:

"m - = 3"

izay mitovy amin'ny "m = m - 3". Ho an'ny fizarana dia manana:

"m / = 5"

izay mitovy amin'ny "m = m / 5". Ary ho an'ny modulo, manana:

"m% = 10"

izay mitovy amin'ny "m = m% 10".

Ankoatr'izay dia azonao ampiasaina ny mpikatroka miverimberina sy miverimberina :

"m ++"

dia mitovy amin'ny "m = m + 1". ary

aoka "m--"

dia mitovy amin'ny "m = m - 1".

Ary avy eo dia misy ny mpanafatra "mark mark-colon", izay mamerina ny iray amin'ireo tombam-bidy roa miankina amin'ny hoe marina ny fepetra voalaza na marina. Ohatra

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

Ny lafiny ankavanana amin'io fanambarana io dia manombana ny "0" raha latsaky ny 9 ny "m" ambany. Raha tsy izany, dia manombana izany izy io. Midika izany fa ny "k" dia asiana "0" raha toa ka "m" 9 sy "1" raha tsy izany.

Ny endrika ankapobeny amin'ny mpihazakazaka marika dia:

toe-javatra? valiny-raha-marina: value-if-false

Miresaka momba ny arithmetika amin'ny bash

Ny mpiasan'ny tsia dia tsy miasa afa-tsy ny karazana arithmetika. Ho an'ny arithmetika izay mety ho azonao ampiasaina ho ohatra ny GNU bc calculator, aseho eto amin'ity ohatra ity:

Echo "32.0 + 1.4" | talohan 'i jk

Ny "pipes" mpandraharaha "|" dia mamoaka ny teny arithmetika "32.0 + 1.4" amin'ny bc calculator, izay mamerina ny tena izy. Ny baiko echo dia mamoaka ny valiny mankany amin'ny vokatra serivisy.

Alternative sentence for arithmetic

Ny kitapo Backback (valiny tokana tokana) dia azo ampiasaina hanombanana ny fomba fiteny arithmetika toy izao amin'ity ohatra ity:

Echo `expr $ m + 18 '

Izany dia hanampy ampaham-potoana 18 amin'ny sandan'ny "m" "variable" ary avy eo mamoaka ny vokatra.

Manendry ny mari-pahaizana amin'ny fari-piainana azonao ampiasaina ny mari-pamantarana tsy misy toerana manodidina azy:

m = `expr $ m + 18 '

Ny fomba iray hafa hanombanana ny teny arithmetika dia ny fampiasana ny fonosana roa. Ohatra:

(m * = 4))

Ity dia hamerina ny lanjan'ny variable "m".

Ankoatra ny fanombanana arithmetika, ny shash Bash dia manome ny fanorenana fandaharana hafa, toy ny lo-loops , ny lo-lo , ny fepetra , ary ny asa sy ny subroutines .