Innhold
- Slik legger du til beregninger i et basskript
- Flytende aritmetikk i bash
- Alternativ syntaks for aritmetikk
Slik legger du til beregninger i et basskript
Selv om Bash er et skriptspråk, har det stort sett alle mulighetene til et programmeringsspråk med generelle formål. Dette inkluderer aritmetiske funksjoner. Det er en rekke syntaksalternativer du kan bruke for å fremkalle aritmetisk evaluering av et uttrykk. Den kanskje mest lesbare er 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 et ekko uttalelse:
ekko $ m
Du kan også opprette en fil som inneholder Bash-kommandoene, i så fall bør du legge til en linje øverst i filen som spesifiserer programmet som skal utføre koden. For eksempel:
#! / Bin / bash
forutsatt at Bash-kjørbare er lokalisert i / Bin / bash. Du må også angi tillatelsene til skriptfilen din slik at den er kjørbar. Forutsatt at skriptfilfilnavnet er script1.sh, kan du angi tillatelser for å gjøre filen kjørbar med kommandoen:
chmod + x script1.sh
Etter det kan du utføre det med kommandoen:
./script1.sh
De tilgjengelige aritmetiske operasjonene er lik de i standard programmeringsspråk som Java og C. I tillegg til multiplikasjon, som illustrert over, bruker du tillegg:
la m = (5 + 5)
eller subtraksjon:
la m = (10 - 2)
eller divisjon:
la m = (10/2)
eller modulo (resten etter en heltaledeling):
la m = (11/2)
Når en operasjon brukes på den samme variabelen som resultatet er tildelt, kan du bruke de standard aritmetiske korthetsoppgavoperatørene, også referert til som sammensatte tildelingsoperatører. For eksempel har vi for eksempel:
((m + = 15))
som tilsvarer "m = m + 15". For subtraksjon har vi:
((m- = 3))
som tilsvarer "m = m - 3". For inndeling 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 tilvekst og minsk operatører:
((m ++))
tilsvarer "m = m + 1". Og
((m--))
tilsvarer "m = m - 1".
Flytende aritmetikk i bash
De la operatør fungerer bare for heltall aritmetikk. For aritmetikk med flytende punkt kan du for eksempel bruke GNU bc-kalkulatoren som illustrert i dette eksemplet:
ekko 32,0 + 1,4 | bc
Operatøren "pipe" | " passerer det aritmetiske uttrykket "32.0 + 1.4" til bc-kalkulatoren, som returnerer det reelle tallet. Ekko-kommandoen skriver ut resultatet til standardutgangen.
Alternativ syntaks for aritmetikk
Ryggtaster (enkeltstående sitater) kan brukes til å evaluere et aritmetisk uttrykk som i dette eksemplet:
ekko `ekspr $ 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 lik tegnet uten mellomrom rundt den:
m = `ekspr $ m + 18`
En annen måte å evaluere aritmetiske uttrykk er å bruke dobbel parentes. For eksempel:
((m * = 4))
Dette vil firedobles verdien til variabelen "m".
I tillegg til aritmetisk evaluering, gir Bash-skallet andre programmeringskonstruksjoner, som for-løkker, mens-løkker, balsam og funksjoner og subroutines.