Variabler används för att lagra värden av olika typer under programkörning. Det finns två typer av variabler i Bash-skript: global och lokal.

Globala variabler kan användas av alla Bash-skript på ditt system, medan lokala variabler endast kan användas inom skriptet (eller skalet) där de är definierade.

Globala variabler tillhandahålls vanligtvis på systemet som standard och är huvudsakligen miljö- och konfigurationsvariabler. Lokala variabler, å andra sidan, är användardefinierade och har godtyckliga användningsområden.

Bash lokala variabler

För att skapa en variabel måste du tilldela ett värde till ditt variabelnamn. Bash är ett språk utan typ, så du behöver inte ange en datatyp när du definierar dina variabler.

var1=Hej

Bash tillåter också flera tilldelningar på en enda rad:

a=6 b=8 c=9

Precis som många andra programmeringsspråk använder Bash uppdragsoperatorn = att tilldela värden till variabler. Det är viktigt att notera att det inte ska finnas några utrymmen på någon sida av uppdragsoperatören. Annars får du ett kompileringsfel.

instagram viewer

Relaterad: Vad betyder "Bash" i Linux?

En annan viktig punkt att notera: Bash tillåter dig inte att definiera en variabel först och sedan tilldela ett värde till den senare. Du måste tilldela ett värde till variabeln vid skapandet.

var2 # kompileringsfel 
var2=Världen

Ibland kan du behöva tilldela en sträng som har ett mellanslag till din variabel. Omslut i så fall strängen inom citattecken.

# var3=Hej världen 
# ovanstående uppgift fungerar inte
var3='Hej världen'

Lägg märke till användningen av enstaka citattecken. Dessa citat kallas också "starka citat" eftersom de tilldelar värdet precis som det är skrivet utan hänsyn till några specialtecken.

I exemplet ovan kunde du också ha använt dubbla citattecken ("svaga citattecken"), men det betyder inte att de alltid kan användas omväxlande. Detta beror på att dubbla citattecken kommer att ersätta specialtecken (som de med $), istället för att tolka dem bokstavligt.

Se exemplet nedan:

var4=89
echo "Numret är $var4"
echo 'Numret är $var4'
# Första utskrifter: 89
# Andra utskrifter lämnar "$var4" som det är

Om du vill tilldela en kommandoradsutgång till din variabel, använd bakåtcitat (``). De kommer att behandla strängen som är innesluten i dem som ett terminalkommando och returnera dess resultat.

var5="Du arbetar för närvarande i denna katalog: `pwd`"

Parameterexpansion i Bash

Parameterexpansion hänvisar helt enkelt till att komma åt värdet på en variabel. I sin enklaste form använder den specialtecknet $ följt av variabelnamnet (utan mellanslag mellan):

var6=Knekt
echo Mitt namn är $var6

Du kan också använda syntaxen ${variableName} för att komma åt en variabels värde. Denna form är mer lämplig när förvirring kring variabelnamnet kan uppstå.

m=Med
echo Med står för ${m}ical

Om du utelämnar de lockiga parenteserna, ${m}ical kommer att tolkas som en sammansatt variabel (som inte finns). Denna användning av krulliga parenteser med variabler kallas "substitution".

Globala variabler

Som nämnts tidigare har ditt Linux-system några inbyggda variabler som kan nås över alla dina skript (eller skal). Dessa variabler nås med samma syntax som lokala variabler.

Relaterad: Hur man skapar och kör Bash-skript i Linux

De flesta av dessa variabler är i BLOCKbokstäver. Vissa är dock enstaka tecken som inte ens är alfanumeriska tecken.

Här är några vanliga användbara globala variabler:

HEM: Tillhandahåller användarens hemkatalog

SKAL: Ger den typ av skal du använder (t.ex. Bash, csh..etc)

?: Ger utgångsstatus för föregående kommando

För att få en lista över globala variabler på ditt system, kör printenv (eller env) kommando:

$ printenv 

Slingor i Bash Scripting

Nu vet du vad variabler är, hur man tilldelar dem och hur man utför grundläggande Bash-logik med hjälp av dem.

Slingor gör att du kan iterera genom flera påståenden. Bash rymmer för slingor och medan loopar med en enkel syntax för alla dina loopingbehov.

Om du behärskar konsten att utveckla Bash, för loopar borde vara nästa på din lista.

Hur man använder for-loopen i ett Linux Bash Shell-skript

Varför köra samma kod om och om igen i ditt skalskript när du kan få en for-loop att göra det åt dig?

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Programmering
  • Linux Bash Shell
  • Kodningstips
Om författaren
Jerome Davidson (34 artiklar publicerade)

Jerome är personalskribent på MakeUseOf. Han täcker artiklar om programmering och Linux. Han är också en kryptoentusiast och håller alltid koll på kryptoindustrin.

Mer från Jerome Davidson

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera