Variabler brukes til å lagre verdier av forskjellige typer under programkjøring. Det er to typer variabler i Bash-skripting: globale og lokale.

Globale variabler kan brukes av alle Bash-skript på systemet ditt, mens lokale variabler kun kan brukes innenfor skriptet (eller skallet) der de er definert.

Globale variabler leveres vanligvis på systemet som standard og er hovedsakelig miljø- og konfigurasjonsvariabler. Lokale variabler er derimot brukerdefinerte og har vilkårlig bruk.

Bash lokale variabler

For å lage en variabel må du tilordne en verdi til variabelnavnet. Bash er et språk som ikke er skrevet, så du trenger ikke å angi en datatype når du definerer variablene dine.

var1=Hei

Bash tillater også flere oppdrag på en enkelt linje:

a=6 b=8 c=9

Akkurat som mange andre programmeringsspråk, bruker Bash oppdragsoperatøren = å tilordne verdier til variabler. Det er viktig å merke seg at det ikke skal være mellomrom på hver side av oppdragsoperatøren. Ellers får du en kompileringsfeil.

I slekt: Hva betyr "Bash" i Linux?

instagram viewer

Et annet viktig poeng å merke seg: Bash lar deg ikke definere en variabel først og deretter tilordne en verdi til den senere. Du må tilordne en verdi til variabelen ved opprettelse.

var2 # kompileringsfeil 
var2=Verden

Noen ganger kan det hende du må tilordne en streng som har et mellomrom til variabelen din. Sett i slike tilfeller strengen i anførselstegn.

# var3=Hei verden 
# oppgave ovenfor fungerer ikke
var3='Hei verden'

Legg merke til bruken av enkle anførselstegn. Disse sitatene kalles også "sterke sitater" fordi de tildeler verdien nøyaktig slik den er skrevet uten hensyn til noen spesialtegn.

I eksemplet ovenfor kunne du også ha brukt doble anførselstegn ("svake anførselstegn"), men dette betyr ikke at de alltid kan brukes om hverandre. Dette er fordi doble anførselstegn vil erstatte spesialtegn (som de med $), i stedet for å tolke dem bokstavelig.

Se eksempelet nedenfor:

var4=89
ekko "Nummeret er $var4"
echo 'Nummeret er $var4'
# Første utskrift: 89
# Andre utskrifter etterlater "$var4" som den er

Hvis du vil tilordne en kommandolinjeutgang til variabelen din, bruk backquotes (``). De vil behandle strengen som er innesluttet i dem som en terminalkommando og returnere resultatet.

var5="Du jobber for øyeblikket i denne katalogen: `pwd`"

Parameterutvidelse i Bash

Parameterutvidelse refererer ganske enkelt til å få tilgang til verdien til en variabel. I sin enkleste form bruker den spesialtegnet $ etterfulgt av variabelnavnet (uten mellomrom mellom):

var6=Knekt
echo Mitt navn er $var6

Du kan også bruke syntaksen ${variableName} for å få tilgang til en variabels verdi. Denne formen er mer egnet når det kan oppstå forvirring rundt variabelnavnet.

m=Med
echo Med står for ${m}ical

Hvis du utelater de krøllede parentesene, ${m}ical vil bli tolket som en sammensatt variabel (som ikke eksisterer). Denne bruken av krøllete parenteser med variabler er kjent som "substitusjon".

Globale variabler

Som nevnt tidligere har Linux-systemet ditt noen innebygde variabler som du kan få tilgang til på tvers av alle skriptene dine (eller skallene dine). Disse variablene åpnes med samme syntaks som lokale variabler.

I slekt: Hvordan lage og kjøre Bash-skript i Linux

De fleste av disse variablene er i BLOKKbokstaver. Noen er imidlertid enkelttegn som ikke engang er alfanumeriske tegn.

Her er noen vanlige nyttige globale variabler:

HJEM: Gir brukerens hjemmekatalog

SKALL: Gir typen skall du bruker (f.eks. Bash, csh..osv)

?: Gir utgangsstatusen til forrige kommando

For å få en liste over globale variabler på systemet ditt, kjør printenv (eller env) kommando:

$ printenv 

Løkker i Bash Scripting

Nå vet du hva variabler er, hvordan du tildeler dem og hvordan du utfører grunnleggende Bash-logikk ved å bruke dem.

Loops lar deg iterere gjennom flere utsagn. Bash rommer til løkker og samtidig som looper med en enkel syntaks for alle dine looping-behov.

Hvis du mestrer kunsten å utvikle Bash, til løkker bør være neste opp på listen din.

Slik bruker du for-løkken i et Linux Bash Shell-skript

Hvorfor kjøre den samme koden igjen og igjen i shell-skriptet ditt når du kan få en for loop til å gjøre det for deg?

Les Neste

DelekvitringE-post
Relaterte temaer
  • Programmering
  • Linux Bash Shell
  • Kodetips
Om forfatteren
Jerome Davidson (34 artikler publisert)

Jerome er en stabsskribent hos MakeUseOf. Han dekker artikler om programmering og Linux. Han er også en krypto-entusiast og følger alltid med på kryptoindustrien.

Mer fra Jerome Davidson

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere