Reikningur í Bash

Hvernig á að bæta við útreikningum í Bash Script

Þó Bash er forskriftarþarfir, hefur það nánast alla möguleika almennt forritunarmál. Þetta felur í sér arðsemi. There ert a tala af valkostum setningafræði sem þú getur notað til að vekja reikninga mat á tjáningu. Kannski er læsilegasti maðurinn að láta skipta. Til dæmis

láta "m = 4 * 1024"

mun reikna 4 sinnum 1024 og úthluta niðurstöðunni til breytu "m".

Þú getur prentað út niðurstöðurnar með því að bæta við echo yfirlýsingu:

látið "m = 4 * 1024" echo $ m

Þú getur prófað þetta frá stjórn línunnar með því að slá inn eftirfarandi kóða:

láta "m = 4 * 1024"; echo $ m

Þú getur líka búið til skrá sem inniheldur Bash skipanirnar. Í því tilviki ættir þú að bæta við línu efst á skránni sem tilgreinir forritið sem er ætlað að framkvæma kóðann. Til dæmis:

#! / bin / bash láta "m = 4 * 1024" echo $ m

miðað við að Bash executable sé staðsett í / bin / bash . Þú þarft einnig að setja heimildir handritaskrárinnar svo að það sé executable. Miðað við handritið er nafnið script1.sh , þú getur stillt heimildir til að gera skráin executable með stjórninni:

chmod 777 script1.sh

Eftir það getur þú framkvæmt það með skipuninni:

./script1.sh

Fyrirliggjandi reikningsaðgerðir eru svipaðar og í venjulegu forritunarmálum eins og Java og C. Auk margfeldis, eins og sýnt er hér að framan, notar þú viðbót:

láta "m = a + 7"

eða frádráttur:

láta "m = a - 7"

eða deild:

láta "m = a / 2"

eða modulo (restin eftir heiltala deild):

láta "m = a% 100"

Þegar aðgerð er beitt á sömu breytu sem niðurstaðan er úthlutað er hægt að nota stöðluðu reikningsskilatækni, sem einnig er nefnt rekstrarfyrirtæki samsettra verkefna. Til dæmis, til viðbótar höfum við:

láta "m + = 15"

sem jafngildir "m = m + 15". Fyrir frádráttu höfum við:

láta "m - = 3"

sem jafngildir "m = m - 3". Fyrir deild höfum við:

láta "m / = 5"

sem jafngildir "m = m / 5". Og fyrir modulo, höfum við:

láta "m% = 10"

sem jafngildir "m = m% 10".

Að auki er hægt að nota hækkunar- og minnkunaraðgerðir :

láta "m + +"

jafngildir "m = m + 1". Og

láta "m--"

jafngildir "m = m - 1".

Og þá er ternary "question mark-colon" rekstraraðilinn, sem skilar einum af tveimur gildum eftir því hvort tilgreint ástand er satt eða ósatt. Til dæmis

láttu "k = (m <9)? 0: 1"

Hægri hlið þessa verkefnisyfirferðar metur á "0" ef breytu "m" er minna en 9. Annars metur það á 1. Þetta þýðir að breytu "k" er úthlutað "0" ef "m" er minna en 9 og "1" annars.

Almennt form spurningamerki-ristill rekstraraðila er:

ástand? gildi-ef-satt: gildi-ef-rangt

Fljótandi tölur í Bash

Leyfið rekstraraðili aðeins að vinna fyrir heildarreikninga. Fyrir reikninga með flotum punktum er hægt að nota til dæmis GNU bc reiknivélina eins og sýnt er í þessu dæmi:

echo "32.0 + 1.4" | bc

The "pípa" rekstraraðila "|" fer með tölfræðilega tjáningu "32.0 + 1.4" í bc reiknivélina, sem skilar raunverulegu númerinu. Echo stjórnin prentar niðurstöðuna í staðlaða framleiðsluna.

Önnur setningafræði fyrir tölur

Hægt er að nota backticks (til baka tilvitnanir) til að meta reikninga eins og í þessu dæmi:

Echo `expr $ m + 18`

Þetta mun bæta 18 við gildi breytu "m" og síðan prenta út niðurstöðuna.

Til að tengja reikningsgildið við breytu er hægt að nota jafnt táknið án rýmis í kringum það:

m = `expr $ m + 18`

Önnur leið til að meta reikningsleg tjáning er að nota tvöfalda sviga. Til dæmis:

((m * = 4))

Þetta mun fjórða gildi breytu "m".

Að auki reiknað mat, gefur Bash skelið aðrar forritunarmyndir, eins og for-lykkjur , meðan á lykkjur , skilyrði og aðgerðir og undirlínur .