Hvordan legge til beregninger til et Bash-skript

Hva du bør vite

  • Bruke la kommando for å produsere den aritmetiske evalueringen av et uttrykk, for eksempel i la m=(4 * 1024).
  • Tilgjengelige aritmetiske operasjoner ligner de i standard programmeringsspråk som Java og C.
  • La-operatoren fungerer bare for heltallsaritmetikk. For flytende-komma-aritmetikk, bruk GNU bc kalkulator.

Selv om Bash er et skriptspråk, har det de fleste funksjonene til et generell programmeringsspråk. Dette inkluderer aritmetiske funksjoner. Her er hvordan du legger til beregninger i et bash-skript.

Hvordan legge til beregninger til et Bash-skript

Det finnes en rekke syntaks alternativer du kan bruke for å fremkalle aritmetisk evaluering av et uttrykk. Den kanskje mest lesbare er den la kommando. For eksempel:

la m=(4 * 1024)

vil beregne 4 ganger 1024 og tilordne resultatet til variabelen "m".

Du kan skrive ut resultatet ved å legge til en ekko uttalelse:

ekko $m

Du kan også lage en fil som inneholder Bash-kommandoene, i så fall bør du legge til en linje øverst i filen som spesifiserer programmet som skal kjøre koden. For eksempel:

#! /bin/bash

forutsatt at den kjørbare Bash-filen er plassert i /bin/bash. Du må også angi tillatelsene til skriptfilen slik at den er kjørbar. Forutsatt at skriptfilnavnet er script1.sh, kan du angi tillatelsene for å gjøre filen kjørbar med kommandoen:

chmod +x script1.sh

Etter det kan du utføre det med kommando:

./script1.sh

De tilgjengelige aritmetiske operasjonene ligner de i standard programmeringsspråk som Java og C. I tillegg til multiplikasjon, som illustrert ovenfor, bruker du addisjon:

la m=(5 + 5)

eller subtraksjon:

la m=(10 - 2)

eller divisjon:

la m=(10/2)

eller modulo (resten etter en heltallsdivisjon):

la m=(11/2)

Når en operasjon brukes på den samme variabelen som resultatet er tilordnet til, kan du bruke standard aritmetiske stenografi-tilordningsoperatorer, også referert til som sammensatte tilordningsoperatorer. For eksempel, som tillegg, har vi:

((m+=15))

som tilsvarer "m = m + 15". For subtraksjon har vi:

(( m-=3 ))

som tilsvarer "m = m - 3". For deling har vi:

(( m/=5 ))

som tilsvarer "m = m / 5". Og for modulo har vi:

(( m%=10 ))

som tilsvarer "m = m % 10".

I tillegg kan du bruke øke og nedgang operatører:

((m++))

er ekvivalent med "m = m + 1". Og.

(( m-- ))

er ekvivalent med "m = m - 1".

Flytepunktaritmetikk i Bash

De la operator fungerer bare for heltallsaritmetikk. For flytende kommaaritmetikk kan du for eksempel bruke GNU bc kalkulator som illustrert i dette eksemplet:

ekko 32.0+1.4 | f.Kr

"Rør"-operatøren "|" sender det aritmetiske uttrykket "32.0 + 1.4" til bc-kalkulatoren, som returnerer det reelle tallet. De ekko kommandoen skriver ut resultatet til standard utdata.

Alternativ syntaks for aritmetikk

Backticks (enkelt anførselstegn) kan brukes til å evaluere et aritmetisk uttrykk som i dette eksemplet:

ekko `utgått $m + 18`

Dette vil legge til 18 til verdien av variabelen "m" og deretter skrive ut resultatet.

For å tilordne beregningsverdien til en variabel kan du bruke likhetstegnet uten mellomrom rundt det:

m=`utl. $m + 18`

En annen måte å evaluere aritmetiske uttrykk på er å bruke dobbel parentes. For eksempel:

((m*=4))

Dette vil firedoble verdien av variabelen "m".

Foruten aritmetisk evaluering, gir Bash-skallet andre programmeringskonstruksjoner, som f.eks. for-løkker, while-løkker, betingelser, og funksjoner og subrutiner.