Mittwoch, 23. Februar 2011

Shellskript Programmierung - Teil 4 (Variablen)

(Date/Datum: 080218-20:35, Hits: 2899) Heute gibt's eine kleine Einführung in Shell-Variablen! Ich werde mich dabei auf das Nötigste beschränken.

Zur Erinnerung: Variablen sind benannte Speicherbereiche. Sie haben eine Bezeichnung und besitzen einen Wert.

Beispielsweise könnte eine Variable "ORT" den Wert "Berlin" bekommen. Man darf ihr aber auch den Wert "38348" oder "Hallo" zuweisen. Zwischen der Bezeichnung und dem eigentlichen Wert muss also kein Zusammenhang bestehen.

Dabei wird zwischen lokalen und globalen (oder Umgebungs-) Variablen unterschieden. Eine lokale Variable wird nicht an aus einer Shell gestartete Programme übergeben. Globale Variablen hingegen sind auch innerhalb von Programmen verfügbar, die in der Shell gestartet wurden.

Variablen anzeigen

Die aktuell verfügbaren Umgebungs-Variablen können in der 'bash' mit dem Befehl 'export' angezeigt werden:

$ export
declare -x BOOKS="/mnt/sda1/books"
declare -x BUCH="/mnt/sda1/books/kompendium2"
declare -x COLORTERM=""
declare -x CVSROOT="cvs@***********.de:/home/cvs"
declare -x CVS_RSH="ssh"
declare -x DISPLAY=":0"
...


Möchte man hingegen alle Variablen, also auch solche, die keine Umgebungsvariablen sind, anzeigen lassen, so hilft ein Aufruf von 'set'. Allerdings zeigt 'set' auch alle verfügbaren Shellfunktionen (die ich in diesem Blog noch nicht behandelt habe) an.

$ set
...


Variablen erzeugen

Eine Variable wird ganz einfach erzeugt. Man schreibt: NAME=Wert. Die Ausgabe einer Variable erfolgt über ein vorangestelltes $-Zeichen und den bereits bekannten Befehl 'echo'. Hier ein Beispiel:

$ ORT1=Augsburg
$ ORT2=Kempten
$ echo $ORT1
Augsburg
$ echo $ORT2
Kempten
$ PFAD=/etc
$ cd $PFAD
$ pwd
/etc


Übung

Benutzen Sie die Variable $HOME um mit dem cd-Befehl in Ihr Heimatverzeichnis zu wechseln.

Lösung: cd $HOME.

Bemerkung: Wird 'cd' ohne Parameter aufgerufen, so wechselt es automatisch in das eigene Heimatverzeichnis.

Keine Kommentare:

Kommentar veröffentlichen