• Variablen können mit = zugewiesen werden
  • Mit $ kann die Variable ausgelesen werden
  • Zum Escapen wird \ verwendet
a=5
b=10
echo $a
echo \$b

Ausgabe:

5
$b

Umgebungsvariablen

  • Dollar und irgend ein Zeichen
echo $0
echo $u war glaub ich user
echo $7 ist der return wert vom letzten programm
 
z.B. Nützlich bei test
test 2 -lt 6
echo $7       <--- gibt zurück ob 3 kleiner
                   als 7 ist (in diesem Fall 0)

Scope

  • Variablen sind in der Regel global
  • Lokale Variablen sind nur innerhalb von Subroutinen erlaubt und müssen mit dem Schlüsselwort local gekennzeichnet werden

Argumentübergabe

  • Parameter können über die Kommandozeile an das Bash-Skript übergeben werden
  • Im Skript können diese mit $1, $2, … abgerufen werden
  • Die Anzahl der Argumente ist in $# gespeichert
  • Alle Argumente nacheinander können mit $@ ausgegeben werden

Beispiel

#!/bin/bash
 
echo `expr 7 + 2`
# Äquivalent:
echo $(expr 7 + 2)
 
 
a=5
label=sum
echo $label:$a+3=$(expr $a + 3)    # sum:5+3=8
echo \$a=$a   # $a=5