Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

CompTia Linux+ LX0-103 (Teil 3) GNU- und Unix-Befehle

Umgebungsvariablen definieren, referenzieren und exportieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Lernen Sie, wozu Umgebungsvariablen unter Linux dienen und wie Sie diese definieren sowie bei Bedarf anpassen können.
09:47

Transkript

Lassen Sie uns über das Terminal und einige Features sprechen. Die Standard-Shell in meinem Linux-System ist die Bash. Wie finde ich das heraus? Ich verwende folgenden Befehl: "echo", und dann das Dollar-Zeichen. Ich rufe die Variable "$shell" auf. Diese Variable zeigt mir an, dass es sich in der Tat um die Standard-Shell Bash handelt. Ich habe die Möglichkeit, in dieser Bash-Sitzung eine neue Bash zu starten. Wenn ich "bash" eingebe und die Enter-Taste drücke, dann habe ich eine zweite Bash-Umgebung gestartet. Das kann ich mit dem Kommando "ps" verifizieren. Ich sehe, ich habe nun verschiedene Bash Shells gestartet. Es sind nun drei an der Zahl. Ich habe also vorher schon einmal Bash gestartet. Alle Kommandos, die ich starte, werden in einer untergeordneten Shell oder Bash gestartet. Wie ich das meine, zeige ich Ihnen mit dem folgenden Befehl, mit "pstree". pstree zeigt uns die Prozesslandschaft etwas genauer an. Ich navigiere nach oben und dann finde ich unter "gnome-terminal" die erste Bash, die ich gestartet habe. Dann habe ich eine weitere Bash gestartet, noch eine Bash, und dann, in der letzten Bash, habe ich den Befehl pstree ausgeführt. Das ist das Resultat von pstree. Sie sehen also, sämtliche Befehle sind untergeordnete Befehle, die zur ersten Bash gehören. Ich lösche den Inhalt dieses Bildchens und habe mit "ps" verifiziert, dass ich verschiedene Bash Shells gestartet habe. Wie kann ich diese wieder verlassen? Indem ich "exit" eingebe. "exit" – nun habe ich eine Bash-Sitzung verlassen. Ich starte wieder "ps". Und ich sehe, es sind nur noch zwei Bash-Prozesse vorhanden. Wiederum "exit". Wiederum habe ich eine Bash-Sitzung verlassen. Ich rufe "ps" erneut auf. Und Sie sehen, es ist nun eine Bash, eine Shell-Umgebung gestartet. Wenn ich nun wieder "exit" eingeben würde, würde meine aktuelle Bash-Sitzung beendet werden. "exit" und Sie sehen: Die Bash-Sitzung ist nun verschwunden. Ich öffne erneut das Terminal. Wo aber sind diese verschiedenen Informationen hinterlegt? Dazu verwendet die Bash Umgebungsvariablen. Environment, oder "env", zeigt mir sämtliche Umgebungsvariablen an, die zu meinem Benutzeraccount gehören. Unter anderem sehe ich in diesen Umgebungsvariablen, dass ich ein Home-Verzeichnis hinterlegt habe in der Variable "home". Dann habe ich weitere Informationen. Zum Beispiel in der Variable "logname" ist mein Name hinterlegt. Dann habe ich das "print working directory". Die Variable ist mit "/home/tom" bestimmt. Sie sehen also sehr viele Informationen, welche in den Umgebungsvariablen abgelegt sind. Eine ganz wichtige Variable ist die path-Variable. Sie sehen, diese Variable ist hier aufgelistet und das ist der Inhalt dieser Variable. Warum ist sie so wichtig? Wenn ich einen Befehl starte, zum Beispiel "ls" oder wie eben vorhin "ps", dann sucht die Bash das ausführbare Programm in diesen Verzeichnissen. Wird es gefunden, kann der Befehl ausgeführt werden. Wird der Befehl nicht gefunden, dann erhalten wir eine Fehlermeldung. Dafür ist zum Beispiel diese Variable zuständig. Ich kann auch meine eigenen Variablen erstellen. Zum Beispiel mit "MYDIR". Dann "=", und dann verwende ich "/user/share" und zum Beispiel "lib". Das ist eine Variable, die ich nun erstellt habe. Enter-Taste und diese wurde perfekt erstellt. Wie kann ich die Variable prüfen? Mit dem Befehl "echo $MYDIR". Und Sie sehen, die Ausgabe entspricht genau dem Inhalt, den ich in der Variable festgelegt habe. Nun ist es aber so, dass die Variable nur für die aktuelle Bash-Sitzung gültig ist. Wenn ich also eine neue Bash-Sitzung starte, verwende ich dazu den Befehl "bash", Enter-Taste. Mit "ps" verifiziere ich, dass ich wirklich eine neue Bash gestartet habe. Nun möchte ich den Inhalt von $MYDIR aufrufen. "echo $MYDIR". Sie sehen, da ist kein Inhalt hinterlegt. Diese Variable ist nicht gültig für die neue Bash. Ich gehe einen Schritt mit "exit" zurück. Nun kann ich den Inhalt wieder aufrufen. Mit der Pfeiltaste nach oben kann ich die letzten Befehle aufrufen und Sie sehen, der Inhalt meiner Variable steht mir wieder zur Verfügung. Variablen sind also standardmäßig nur lokal gültig. Will ich eine Variable für alle weiteren Bash-Sitzungen ebenfalls verfügbar machen, brauche ich den Befehl "export". Zuerst lösche ich den Bildschirminhalt mit CTRL-L. Ich verwende also den Befehl "export", um eine Variable für weitere Bash-Sitzungen verfügbar zu machen. Ich erstelle eine Variable namens "HEUTE" mit dem Gleichheitszeichen, um zum Beispiel (zu sagen); "Heute haben wir Samstag". Enter-Taste, und ich verifiziere: Wurde diese Variable auch tatsächlich erstellt? Mit "echo $HEUTE". In der Tat, wir haben den Inhalt "Samstag". Nun starte ich eine neue Bash-Sitzung und rufe die Variable wiederum auf. Mit "echo $HEUTE". Auch da wird der Wert "Samstag" ausgegeben. Wir haben also gesehen, dass diese Variable nun auch für weitere Bash-Sitzungen zur Verfügung steht. Allerdings nur immer in dieser Shell-Sitzung. Wenn ich eine neue Shell-Sitzung, also eine neue Bash, starte, und ich setze den Befehl "echo $ heute", dann sehen Sie, diese Variable existiert in dieser Bash-Sitzung nicht. Ich verlasse diese Umgebung wieder und bin zurück in meiner ursprünglichen Bash-Sitzung. Wie aber funktioniert eigentlich die Bash, wenn ich ein Kommando einsetze? Ich habe ein Kommando "echo" verwendet und die Variable entsprechend bestimmt. Wie funktioniert genau die Bash? Der erste Befehl bis zum ersten Leerzeichen oder anders erklärt, die ersten Zeichen, bis zum ersten Leerzeichen, das ist für die Bash ein Befehl. Der nächste Bereich ist für die Bash entweder eine Option oder ein Argument. Ganz wichtig: Es wird immer zuerst die Option oder das Argument interpretiet und dann dem eigentlichen Befehl übergeben. Schauen wir uns das etwas genauer an. Mit "set -x" schalte ich den Debug-Modus ein. Ich verwende nochmal den gleichen Befehl "echo". Dann rufe ich meine Variable auf. Nun schauen wir uns an, was passiert. Haben Sie gesehen? Es wurde zuerst diese Variable "HEUTE" ausgelesen. Der Wert von dieser Variable ist "Samstag". Dann wurde dieser Wert dem Befehl "echo" übergeben. "echo" bringt das Resultat auf unser Terminal und wir sehen dann in unserem Terminal den Wert "Samstag". Es ist also ganz wichtig, dass Sie verstehen, dass immer zuerst die Option, das Argument, übersetzt, interpretiert, wird. Und dann anschließend an den eigentlichen Befehl übergeben wird. Das ist ein ganz wichtiges Konzept, das Sie verstehen müssen, vor allem dann, wenn Sie einmal Scripts erstellen, dann wissen Sie genau, worauf Sie achten müssen. Mit "set +x" können wir diesen Debug-Modus wieder ausschalten. Wenn ich nun wieder "echo" eingebe und die Variable aufrufe, sehen Sie, funktioniert es wieder ganz genau so, wie wir es kennen, ohne dass der Debug-Modus uns das Resultat zeigt. In diesem Video habe ich Ihnen gezeigt, wie die Umgebungsvariablen ausschauen wie sie hinterlegt sind. Ich habe Ihnen ein paar spezifische Variablen gezeigt und wie die Bash Befehle und Argumente interpretiert.

CompTia Linux+ LX0-103 (Teil 3) GNU- und Unix-Befehle

Lernen Sie den Umgang mit der Kommandozeile, Dateien und Prozessen kennen und bereiten Sie sich auf die Comptia Linux+-Zertifizierungsprüfung LX0-103 vor.

3 Std. 32 min (40 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!