Verwenden von Umgebungsvariablen in Terminal auf dem Mac
Die Shell verwendet Umgebungsvariablen zum Ablegen von Informationen wie dem Namen des aktuellen Benutzers, dem Namen des Hostcomputers und den Standardpfaden zu Befehlen. Umgebungsvariablen werden von allen Befehlen geerbt, die im Kontext der Shell ausgeführt werden, dabei hängen einige Befehle von Umgebungsvariablen ab.
Du kannst Umgebungsvariablen erstellen und verwenden, um das Verhalten eines Befehls zu steuern, ohne den Befehl selbst ändern zu müssen. So ist es beispielsweise möglich, eine Umgebungsvariable zu verwenden, um einen Befehl Debugging-Informationen auf der Konsole drucken zu lassen.
Zum Festlegen des Werts einer Umgebungsvariablen verwendest du den entsprechenden Shell-Befehl, um einem Variablennamen einen Wert zuzuordnen. Wenn du z. B. die Variable PATH auf den Wert /bin:/sbin:/user/bin:/user/sbin:/system/Library/
setzen möchtest, müsstest du den folgenden Befehl in einem Terminal-Fenster eingeben:
% PATH=/bin:/sbin:/user/bin:/user/sbin:/system/Library/ export PATH
Gib Folgendes ein, um alle Umgebungsvariablen anzuzeigen:
% env
Wenn du eine App von einer Shell aus startest, erbt die App die Umgebung der Shell, einschließlich der exportierten Umgebungsvariablen. Diese Form der Vererbung kann nützlich sein, um die App dynamisch zu konfigurieren. Die App kann z. B. das Vorhandensein (oder den Wert) einer Umgebungsvariablen überprüfen und deren Verhalten entsprechend ändern.
Unterschiedliche Shells unterstützen eine unterschiedliche Semantik für das Exportieren von Umgebungsvariablen. Weitere Informationen dazu findest du auf der man-Seite deiner bevorzugten Shell.
Obwohl untergeordnete Prozesse einer Shell die Umgebung dieser Shell erben, handelt es sich bei Shells um separate Ausführungskontexte, die keine Umgebungsinformationen teilen. Variablen, die du in einem Terminal-Fenster definierst, werden nicht in anderen Terminal-Fenstern definiert.
Beim Schließen eines Terminal-Fensters sind die in diesem Fenster definierten Variablen nicht mehr verfügbar. Soll der Wert einer Variablen sitzungsübergreifend und in allen Terminal-Fenstern bestehen bleiben, musst du ihn in einem Shell-Startskript definieren. Weitere Informationen dazu, wie du dein Startskript für die zsh-Shell so änderst, dass Variablen und andere Einstellungen übergreifend über mehrere Sitzungen erhalten bleiben, findest du im Abschnitt „Invocation“ der man-Seite des Befehls zsh.