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 diese nur in Ihrer aktuellen Shell. Wenn Sie ein Skript ausführen oder ein anderes Programm starten, steht diese Variable dort nicht zur Verfügung. Hier kommt export ins Spiel.
Der export-Befehl stellt eine Variable allen Kindprozessen zur Verfügung, was bedeutet, dass Programme oder Skripte, die aus Ihrer aktuellen Shell 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 Befehl übergeben wird, den Sie danach ausführen.
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.
Aus diesem Grund werden Systemvariablen wie PATH und HOME standardmäßig exportiert. Sie müssen für jedes Programm verfügbar sein, das Sie ausführen.
Sie können überprüfen, ob eine Variable exportiert wurde, indem Sie prüfen, ob sie in der Ausgabe von env erscheint:
env | grep MY_NAMEExportierte Variablen verschwinden weiterhin, wenn Sie das Terminal schließen. Die nächste Lektion erklärt, wie Sie Variablen über Sitzungen hinweg dauerhaft speichern.
Aufgabe
EinfachExportieren Sie eine Variable namens PROJECT mit dem Wert terminal-course, und überprüfen Sie anschließend, ob sie exportiert wurde, indem Sie die Ausgabe von env filtern, um nur Ihre neue Variable anzuzeigen.
Sie können dies in einer einzigen Zeile tun, indem Sie export verwenden, um die Variable auf einmal zu setzen und zu exportieren, und dann env durch grep leiten, um sie zu finden.
Ihre Ausgabe sollte wie folgt aussehen:
PROJECT=terminal-courseHinweis: Führen Sie zuerst
export PROJECT="terminal-course"aus und verwenden Sie dannenv | grep PROJECT, um zu überprüfen, ob sie in der Umgebung erscheint.
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