Shell-Variablen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Shell-Variablen

Skalare Variablen

  • Eine skalare Variable speichert genau einen einzelnen Wert, z. B. eine Zahl, Zeichenkette oder einen Pfad.
  • Sie ist nur innerhalb der aktuellen Shell-Sitzung gültig und geht beim Beenden verloren.
  • Skalare Variablen sind die Grundlage aller weiteren Variablentypen in der Bash.
Definition
  • NAME="Thomas"
  • ORT="Zweibrücken"
  • echo $NAME lebt in $ORT
Thomas lebt in Zweibrücken  
Eigenschaften
  • Variablennamen bestehen aus Buchstaben, Ziffern und Unterstrichen – sie dürfen nicht mit einer Zahl beginnen.
  • Zwischen Variablenname, Gleichheitszeichen und Wert dürfen keine Leerzeichen stehen.
  • Eine Variable kann mit unset gelöscht werden.
Beispiel
  • ZAHL=5
  • echo $ZAHL
5  
  • unset ZAHL
  • echo $ZAHL
(keine Ausgabe – Variable gelöscht)  
Variablen anzeigen
  • Mit set werden alle aktuell gesetzten Variablen ausgegeben.
  • Mit declare -p NAME kann eine einzelne Variable mit Typ und Wert angezeigt werden.

Array-Variablen

  • Arrays sind Variablen, die mehrere Werte unter einem gemeinsamen Namen speichern.
  • Jeder Eintrag wird über einen numerischen Index angesprochen, beginnend mit 0.
Beispiel
  • farbe=(blau gelb gruen rot)
  • echo ${farbe[0]} → blau
  • echo ${farbe[2]} → gruen
  • echo ${farbe[@]} → blau gelb gruen rot
Einzelne Werte hinzufügen
  • farbe[4]="violett"
  • echo ${farbe[4]} → violett
Länge eines Arrays
  • echo ${#farbe[@]} → 5

Assoziative Arrays

  • Assoziative Arrays bestehen aus Schlüssel/Wert-Paaren.
  • Sie sind ab Bash 4 verfügbar und müssen mit declare -A deklariert werden.
Beispiel
  • declare -A capital
  • capital[Deutschland]="Berlin"
  • capital[Frankreich]="Paris"
  • capital[Italien]="Rom"
  • echo ${capital[Frankreich]} → Paris
  • echo ${!capital[@]} → Deutschland Frankreich Italien

Variablen prüfen

  • Mit declare -p lässt sich prüfen, ob eine Variable existiert und welchen Typ sie hat.
  • Mit unset kann sie gelöscht werden.
  • Eine nicht gesetzte Variable ergibt bei echo $VAR eine leere Ausgabe.
Beispiel
  • declare -p farbe
  • unset farbe
  • echo $farbe

Aufgaben

Skalare Variablen

  • Legen Sie eine Variable STADT mit einem beliebigen Wert an und geben Sie deren Inhalt aus.
  • Löschen Sie die Variable mit unset und prüfen Sie die Ausgabe.
  • Erstellen Sie eine Variable PFAD und zeigen Sie mit ls $PFAD deren Inhalt an.

Array-Variablen

  • Erstellen Sie ein Array OBST mit den Werten Apfel, Birne und Traube.
  • Geben Sie das zweite Element des Arrays aus.
  • Ergänzen Sie ein viertes Element Banane und geben Sie alle Werte aus.

Assoziative Arrays

  • Erstellen Sie ein assoziatives Array LAND, das Länder und ihre Hauptstädte enthält.
  • Fügen Sie mindestens drei Einträge hinzu und geben Sie alle Schlüssel und Werte aus.
  • Löschen Sie einen Eintrag mit unset.