09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

9.3 Arten von Kommandos – die zweite 131<br />

$ export bla=fasel bla ist Umgebungsvariable<br />

$ export -n bla bla ist (nur) Shellvariable<br />

$ unset bla bla ist ganz weg<br />

Übungen<br />

C<br />

9.3 [!2] Überzeugen Sie sich, dass die Übergabe (oder Nichtübergabe) von<br />

Umgebungs- und Shellvariablen an Kindprozesse funktioniert wie behauptet,<br />

indem Sie die folgende Kommandosequenz durchspielen:<br />

$ bla=fasel bla ist Shellvariable<br />

$ bash Neue Shell (Kindprozess)<br />

$ echo $bla<br />

bla ist nicht definiert<br />

$ exit Zurück in die Elter-Shell<br />

$ export bla bla ist Umgebungsvariable<br />

$ bash Neue Shell (Kindprozess)<br />

$ echo $bla<br />

fasel<br />

Umgebungsvariable wurde vererbt<br />

$ exit Zurück in die Elter-Shell<br />

C<br />

9.4 [!2] Was passiert, wenn Sie eine Umgebungsvariable im Kindprozess<br />

ändern? Betrachten Sie die folgende Kommandosequenz:<br />

$ export bla=fasel bla ist Umgebungsvariable<br />

$ bash Neue Shell (Kindprozess)<br />

$ echo $bla<br />

fasel<br />

Umgebungsvariable wurde vererbt<br />

$ bla=blubb Neuer Wert<br />

$ exit Zurück in die Elter-Shell<br />

$ echo $bla Was kommt hier heraus??<br />

9.3 Arten von Kommandos – die zweite<br />

Eine Anwendung von Shellvariablen ist, wie erwähnt, die Steuerung der Shell Steuerung der Shell<br />

selbst. Hierzu noch ein Beispiel: Wie in Kapitel 4 beschrieben, unterscheidet die<br />

Shell interne und externe Kommandos. Externe Kommandos entsprechen ausführbaren<br />

Programmen, die die Shell in den Verzeichnissen sucht, die in der Umgebungsvariablen<br />

PATH stehen. Hier ist ein typischer Wert für PATH:<br />

$ echo $PATH<br />

/home/hugo/bin:/usr/local/bin:/usr/bin:/bin:/usr/games<br />

<strong>Die</strong> einzelnen Verzeichnisse werden in der Liste durch Doppelpunkte getrennt,<br />

die Liste im Beispiel besteht also aus fünf Verzeichnissen. Wenn Sie ein Kommando<br />

wie<br />

$ ls<br />

eingeben, weiß die Shell, dass das kein internes Kommando ist (sie kennt ihre<br />

internen Kommandos) und fängt darum an, die Verzeichnisse in PATH abzusuchen,<br />

beginnend am linken Ende. Konkret prüft sie, ob die folgenden Dateien existieren:<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!