Menu
Coddy logo textTech

Eine Variable exportieren

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 63 von 82.

Wenn Sie eine Variable wie MY_NAME="Alice" setzen, existiert sie nur in Ihrer aktuellen Shell. Wenn Sie ein Skript ausführen oder ein anderes Programm starten, ist diese Variable nicht für es verfügbar. Hier kommt export zum Einsatz.

Der export-Befehl macht eine Variable für alle Kindprozesse verfügbar, was bedeutet, dass Programme oder Skripte, die von Ihrer aktuellen Shell aus gestartet werden, darauf zugreifen können:

export MY_NAME="Alice"

Sie können auch eine bestehende Variable exportieren:

MY_NAME="Alice"
export MY_NAME

Beide Ansätze erzielen dasselbe Ergebnis. Die Variable wird Teil der Umgebung, die an jeden danach ausgeführten Befehl weitergegeben wird.

Um den Unterschied zu sehen, führen Sie ein Skript aus, das versucht, $MY_NAME zu verwenden.

Ohne Export sieht das Skript nichts. Mit Export kann das Skript auf den Wert zugreifen.

Deshalb werden Systemvariablen wie PATH und HOME standardmäßig exportiert. Sie müssen für jedes Programm, das Sie ausführen, verfügbar sein.

Sie können überprüfen, ob eine Variable exportiert ist, indem Sie prüfen, ob sie in der env-Ausgabe erscheint:

env | grep MY_NAME

Exportierte Variablen verschwinden immer noch, wenn Sie das Terminal schließen. Die nächste Lektion behandelt, wie man Variablen über Sitzungen hinweg persistent macht.

challenge icon

Aufgabe

Einfach

Exportiere eine Variable namens PROJECT mit dem Wert terminal-course, dann überprüfe, ob sie exportiert wurde, indem du die env-Ausgabe filterst, um nur deine neue Variable anzuzeigen.

Du kannst das in einer einzigen Zeile mit export machen, um die Variable gleichzeitig zu setzen und zu exportieren, dann env durch grep pipen, um sie zu finden.

Deine Ausgabe sollte sein:

PROJECT=terminal-course

Tipp: Führe zuerst export PROJECT="terminal-course" aus, dann verwende env | grep PROJECT, um zu überprüfen, ob sie in der Umgebung erscheint.

Spickzettel

Der export-Befehl macht eine Variable für Kindprozesse verfügbar (Programme oder Skripte, die von Ihrer aktuellen Shell gestartet werden):

export MY_NAME="Alice"

Sie können auch eine bestehende Variable exportieren:

MY_NAME="Alice"
export MY_NAME

Ohne export existieren Variablen nur in der aktuellen Shell und sind nicht für Skripte oder Programme zugänglich, die Sie ausführen.

Um zu überprüfen, ob eine Variable exportiert wurde, prüfen Sie, ob sie in der env-Ausgabe erscheint:

env | grep MY_NAME

Exportierte Variablen verschwinden, wenn Sie das Terminal schließen.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen