Je kunt net als in iedere andere programmeertaal gebruik maken van variabelen. Er zijn geen gegevenstypen. Onder bash kan een variabele bestaan uit een nummer, een teken, of een reeks tekens.
Je hoeft een variabele niet te declareren. Door er slechts een waarde aan toe te kennen zal het worden aangemaakt.
#!/bin/bash
STR="Hello World!"
echo $STR
In regel 2 wordt een variabele aangemaakt met de naam STR en hieraan wordt de string "Hello World!" toegekend. De WAARDE van deze variabele wordt vervolgens opgehaald door er een '$' voor te plaatsen. Let er alsjeblieft op (probeer het uit!) dat als je het '$' teken niet gebruikt, de uitvoer van het programma iets anders zal zijn, en het waarschijnlijk niet datgene zal zijn wat je wilt dat 't is.
#!/bin/bash
OF=/var/my-backup-$(date +%Y%m%d).tgz
tar -cZf $OF /home/me/
In dit script wordt iets anders geïntroduceerd. Ten eerste zou je nu bekend moeten zijn met de aanmaak van de variabele en de toekenning in regel 2. Let op de expressie `$(date +%Y%m%d)'. Als je het script uit laat voeren, zal je bemerken dat het de opdracht binnen de haakjes uitvoert, en de uitvoer ervan afvangt.
Merk op dat de naam van het bestand, de uitvoer, iedere dag anders zal zijn, vanwege de opmaakoptie van de opdracht date (+%Y%m%d). Je kunt dit wijzigen door een ander formaat op te geven.
Nog wat meer voorbeelden:
echo ls
echo $(ls)
Lokale variabelen kunnen worden aangemaakt door gebruik te maken van het keyword local.
#!/bin/bash
HELLO=Hello
function hello {
local HELLO=World
echo $HELLO
}
echo $HELLO
hello
echo $HELLO
Dit voorbeeld zou genoeg moeten zijn om aan te tonen hoe je
een lokale variabele gebruikt.