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_NAMEBeide 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_NAMEExportierte Variablen verschwinden immer noch, wenn Sie das Terminal schließen. Die nächste Lektion behandelt, wie man Variablen über Sitzungen hinweg persistent macht.
Aufgabe
EinfachExportiere 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-courseTipp: Führe zuerst
export PROJECT="terminal-course"aus, dann verwendeenv | 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_NAMEOhne 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_NAMEExportierte Variablen verschwinden, wenn Sie das Terminal schließen.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-Pipeline12Umgebung
UmgebungsvariablenAlle Variablen anzeigenDie PATH-VariableEine Variable setzenEine Variable exportierenDie Profil-DateiZusammenfassung - Benutzerdefinierte Umgebung