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.