Variabler bruges til at gemme værdier af forskellige typer under programafvikling. Der er to typer variabler i Bash-scripting: globale og lokale.

Globale variabler kan bruges af alle Bash-scripts på dit system, mens lokale variabler kun kan bruges inden for det script (eller shell), hvori de er defineret.

Globale variabler leveres generelt på systemet som standard og er hovedsageligt miljø- og konfigurationsvariabler. Lokale variabler er på den anden side brugerdefinerede og har vilkårlige anvendelser.

Bash lokale variabler

For at oprette en variabel skal du tildele en værdi til dit variabelnavn. Bash er et utypesprog, så du behøver ikke angive en datatype, når du definerer dine variable.

var1=Hej

Bash tillader også flere opgaver på en enkelt linje:

a=6 b=8 c=9

Ligesom mange andre programmeringssprog bruger Bash opgaveoperatøren = at tildele værdier til variabler. Det er vigtigt at bemærke, at der ikke bør være mellemrum på hver side af opgaveoperatøren. Ellers får du en kompileringsfejl.

Relaterede: Hvad betyder "Bash" i Linux?

instagram viewer

Et andet vigtigt punkt at bemærke: Bash tillader dig ikke at definere en variabel først og derefter tildele en værdi til den senere. Du skal tildele en værdi til variablen ved oprettelse.

var2 # kompileringsfejl 
var2=Verden

Nogle gange skal du muligvis tildele en streng, der har et mellemrum, til din variabel. I et sådant tilfælde skal du sætte strengen i anførselstegn.

# var3=Hej verden 
# ovenstående opgave virker ikke
var3='Hej verden'

Læg mærke til brugen af ​​enkelte anførselstegn. Disse citater kaldes også "stærke citater", fordi de tildeler værdien præcis, som den er skrevet uden hensyn til eventuelle specialtegn.

I eksemplet ovenfor kunne du også have brugt dobbelte anførselstegn ("svage anførselstegn"), selvom det ikke betyder, at de altid kan bruges i flæng. Dette skyldes, at dobbelte anførselstegn vil erstatte specialtegn (såsom dem med $), i stedet for at fortolke dem bogstaveligt.

Se eksemplet nedenfor:

var4=89
echo "Nummeret er $var4"
echo 'Nummeret er $var4'
# Første udskrift: 89
# Andet output-udskrifter efterlader "$var4" som det er

Hvis du vil tildele et kommandolinjeoutput til din variabel, skal du bruge tilbageanførselstegn (``). De vil behandle strengen, der er indesluttet i dem, som en terminalkommando og returnere resultatet.

var5="Du arbejder i øjeblikket i denne mappe: `pwd`"

Parameterudvidelse i Bash

Parameterudvidelse refererer simpelthen til at få adgang til værdien af ​​en variabel. I sin enkleste form bruger den specialtegn $ efterfulgt af variabelnavnet (uden mellemrum imellem):

var6=Knægt
echo Mit navn er $var6

Du kan også bruge syntaksen ${variableName} for at få adgang til en variabels værdi. Denne form er mere velegnet, når der kan opstå forvirring omkring variabelnavnet.

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

Hvis du udelader de krøllede parenteser, ${m}ical vil blive fortolket som en sammensat variabel (der ikke eksisterer). Denne brug af krøllede parenteser med variable er kendt som "substitution".

Globale variabler

Som nævnt tidligere har dit Linux-system nogle indbyggede variabler, der kan tilgås på tværs af alle dine scripts (eller skaller). Disse variabler tilgås ved hjælp af den samme syntaks som lokale variabler.

Relaterede: Sådan oprettes og udføres Bash-scripts i Linux

De fleste af disse variable er med blokbogstaver. Nogle er dog enkelte tegn, der ikke engang er alfanumeriske tegn.

Her er nogle almindelige nyttige globale variabler:

HJEM: Giver brugerens hjemmemappe

SKAL: Giver den type skal, du bruger (f.eks. Bash, csh..osv)

?: Giver udgangsstatus for den forrige kommando

For at få en liste over globale variabler på dit system skal du køre printenv (eller env) kommando:

$ printenv 

Loops i Bash Scripting

Nu ved du, hvad variabler er, hvordan du tildeler dem, og hvordan du udfører grundlæggende Bash-logik ved at bruge dem.

Loops giver dig mulighed for at iterere gennem flere udsagn. Bash rummer til sløjfer og mens loops med en simpel syntaks til alle dine looping-behov.

Hvis du mestrer kunsten at Bash-udvikling, til loops burde være næste på din liste.

Sådan bruger du for-løkken i et Linux Bash Shell-script

Hvorfor køre den samme kode igen og igen i dit shell-script, når du kan få en for loop til at gøre det for dig?

Læs Næste

DelTweetE-mail
Relaterede emner
  • Programmering
  • Linux Bash Shell
  • Kodningstip
Om forfatteren
Jerome Davidson (34 artikler udgivet)

Jerome er medarbejderskribent hos MakeUseOf. Han dækker artikler om programmering og Linux. Han er også en krypto-entusiast og holder altid styr på kryptoindustrien.

Mere fra Jerome Davidson

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere