Liste der Umgebungsvariablen in Linux/Unix

โšก Intelligente Zusammenfassung

Umgebungsvariablen in Linux und Unix sind dynamische, benannte Werte, die das Verhalten von Programmen und der Shell beeinflussen und Einstellungen wie den Pfad, das Home-Verzeichnis, den Standardeditor, die Sprache und die aktuell verwendete Shell speichern.

  • ๐ŸŒฑ Was sie sind: Umgebungsvariablen enthalten dynamische Werte, die Prozesse beeinflussen und erstellt, bearbeitet und gelรถscht werden kรถnnen.
  • ๐Ÿงญ PFAD: Die PATH-Variable listet die Verzeichnisse auf, die die Shell durchsucht, um ausfรผhrbare Befehle zu finden und auszufรผhren.
  • ๐Ÿ”Ž Lesewerte: Der Befehl echo zeigt eine Variable an, wรคhrend env und printenv alle Umgebungsvariablen auflisten.
  • ๐Ÿ†• Erstellen: Weisen Sie einen Wert mit NAME=Wert zu und verwenden Sie dann die Exportfunktion, um ihn untergeordneten Prozessen zur Verfรผgung zu stellen.
  • ๐Ÿ—‘๏ธ Lรถschen: Der Befehl unset entfernt eine Variable und ihren Wert aus der aktuellen Shell-Sitzung.
  • ๐Ÿ’พ Beharrlichkeit: Fรผgen Sie Exportzeilen zu ~/.bashrc oder /etc/environment hinzu, um Variablen sitzungsรผbergreifend beizubehalten.
  • ๐Ÿค– KI-Hilfe: KI-Assistenten und GitHub Copilot kรถnnen Variablen prรผfen und Shell-Skripte generieren, die diese verwenden.

Liste gรคngiger Umgebungsvariablen in Linux und Unix

Umgebungsvariablen gehรถren zu den ersten Dingen, die man auf jedem System verstehen sollte. Linux oder Unix-Systemen, da sie im Hintergrund das Verhalten Ihrer Programme und der Shell steuern. Dieser Leitfaden erklรคrt, was sie sind, welche die hรคufigsten sind und wie man sie liest, erstellt und lรถscht.

Was ist eine Computerumgebung?

Die Computerumgebung ist die Plattform (Plattform = Betriebssystem + Prozessor), auf dem ein Benutzer Programme ausfรผhren kann.

Was ist eine Variable?

In der Informatik ist eine Variable ein Speicherplatz fรผr einen Wert, der ein Dateiname, Text, eine Zahl oder beliebige andere Daten sein kann. Sie wird รผblicherweise รผber ihren symbolischen Namen referenziert, der ihr bei der Erstellung zugewiesen wird. Der gespeicherte Wert kann anschlieรŸend angezeigt, gelรถscht, bearbeitet und erneut gespeichert werden.

Variablen spielen in der Programmierung eine wichtige Rolle, da sie es Programmierern ermรถglichen, flexible Programme zu schreiben. Da sie an das jeweilige Betriebssystem gebunden sind, ist es wichtig, einige von ihnen zu kennen und zu wissen, wie man sie beeinflussen kann.

Was sind Umgebungsvariablen?

Umgebungsvariablen sind dynamische Werte, die Prozesse oder Programme auf einem Computer beeinflussen. Sie existieren in jedem Betriebssystem, ihre Typen kรถnnen jedoch variieren. Umgebungsvariablen lassen sich erstellen, bearbeiten, speichern und lรถschen und liefern Informationen รผber das Systemverhalten.

Umgebungsvariablen kรถnnen das Verhalten von Software und Programmen beeinflussen. Beispielsweise speichert die Umgebungsvariable `$LANG` die Sprache, die der Benutzer versteht. Dieser Wert wird von einer Anwendung gelesen, sodass einem chinesischen Benutzer eine Mandarin-Oberflรคche und einem amerikanischen Benutzer eine englische Oberflรคche angezeigt wird.

Betrachten wir einige gรคngige Umweltvariablen:

Variable Beschreibung
PATH Diese Variable enthรคlt eine durch Doppelpunkte (:) getrennte Liste von Verzeichnissen, in denen Ihr System nach ausfรผhrbaren Dateien sucht. Wenn Sie einen Befehl im Terminal eingeben, sucht die Shell in den in der Variable `$PATH` aufgefรผhrten Verzeichnissen nach diesem Befehl. Wird der Befehl gefunden, wird er ausgefรผhrt. Andernfalls wird die Fehlermeldung โ€žBefehl nicht gefundenโ€œ zurรผckgegeben.
USER Der Nutzername
START Standardpfad zum Basisverzeichnis des Benutzers
EDITOR Pfad zum Programm, das den Inhalt von Dateien bearbeitet
UID Eindeutige ID des Benutzers
TERM Standard-Terminal-Emulator
SHELL Shell, die vom Benutzer verwendet wird

Auf Variablenwerte zugreifen

Um den Wert einer Variablen zu ermitteln, verwenden Sie den Befehl echo:

echo $VARIABLE

Der folgende Screenshot zeigt beispielsweise den Wert der PATH-Variablen, der mit dem Befehl echo angezeigt wird.

Den Wert der PATH-Variablen mit dem Befehl echo anzeigen

Jede Umgebungsvariable kann auf dieselbe Weise ausgelesen werden. Die folgende Ausgabe zeigt, wie `echo` den Wert einer Variablen zurรผckgibt.

Ausgabe des Befehls โ€žechoโ€œ, die einen Wert einer Umgebungsvariablen anzeigt

Variablen unterscheiden zwischen GroรŸ- und Kleinschreibung. Achten Sie daher darauf, den Variablennamen korrekt einzugeben, da Sie sonst mรถglicherweise nicht das gewรผnschte Ergebnis erhalten. Um alle Umgebungsvariablen gleichzeitig aufzulisten, verwenden Sie den Befehl `env`, wie unten gezeigt.

Der Befehl `env` listet alle Umgebungsvariablen im Terminal auf.

Legen Sie neue Umgebungsvariablen fest

Sie kรถnnen Ihre eigene benutzerdefinierte Variable mit dieser Syntax erstellen:

VARIABLE_NAME=variable_value

Denken Sie daran, dass Variablennamen zwischen GroรŸ- und Kleinschreibung unterscheiden und รผblicherweise in GroรŸbuchstaben geschrieben werden. Eine so erstellte Variable ist eine lokale Shell-Variable, die nur von der aktuellen Shell verwendet werden kann. Um sie zu einer Umgebungsvariablen zu machen, die auch von Kindprozessen geerbt wird, verwenden Sie den Befehl `export`.

export VARIABLE_NAME=value

Der folgende Screenshot zeigt, wie eine neue Variable erstellt und anschlieรŸend mit echo angezeigt wird.

Erstellen und Anzeigen einer neuen benutzerdefinierten Umgebungsvariablen

Variablen lรถschen

Die folgende Syntax entfernt eine Variable aus dem System:

unset variablename

Dadurch werden die Variable und ihr Wert aus der aktuellen Shell-Sitzung entfernt, wie unten gezeigt.

Entfernen einer Umgebungsvariablen mit dem Befehl unset

Hรคufig gestellte Fragen

Eine Shell-Variable existiert nur in der aktuellen Shell und wird nicht an andere Programme weitergegeben. Eine Umgebungsvariable ist eine exportierte Shell-Variable, die von Kindprozessen, die von dieser Shell gestartet werden, geerbt wird. Verwenden Sie den Befehl `export`, um eine Variable zu exportieren.

Im Terminal festgelegte Variablen gehen beim SchlieรŸen der Sitzung verloren. Um sie zu erhalten, fรผgen Sie die entsprechende Zeile in eine Systemstartdatei ein: ~/.bashrc oder ~/.profile fรผr einen einzelnen Benutzer oder /etc/environment fรผr alle Benutzer des Systems. Laden Sie die Datei neu oder รถffnen Sie das Terminal erneut, um die ร„nderung anzuwenden.

Fรผgen Sie das neue Verzeichnis dem bestehenden PATH hinzu, damit es nicht รผberschrieben wird: `export PATH=$PATH:/Ihr/neues/Verzeichnis`. Dadurch wird Ihr Ordner der Liste hinzugefรผgt, in der die Shell nach Befehlen sucht. Fรผgen Sie dieselbe Zeile in Ihre `~/.bashrc`-Datei ein, damit die ร„nderung auch nach neuen Sitzungen erhalten bleibt.

Der Befehl `printenv` listet nur Umgebungsvariablen auf und kann eine einzelne anzeigen, z. B. `printenv HOME`. Der Befehl `env` listet ebenfalls Umgebungsvariablen auf und kann ein Programm mit einer geรคnderten Umgebung ausfรผhren. Der Befehl `set` zeigt alle Umgebungsvariablen an, einschlieรŸlich Shell-Variablen und -Funktionen, nicht nur die exportierten.

Das bedeutet in der Regel, dass Sie die Umgebungsvariable PATH รผberschrieben statt erweitert haben, sodass die Shell keine Standardbefehle mehr findet. Fรผgen Sie $PATH immer hinzu, wenn Sie die Umgebungsvariable festlegen. Um das Problem in der aktuellen Sitzung zu beheben, fรผhren Sie `export PATH=/usr/local/bin:/usr/bin:/bin` aus und korrigieren Sie anschlieรŸend Ihre Startdatei.

Es ist zwar praktisch, aber riskant. Umgebungsvariablen kรถnnen aus /proc gelesen werden, werden an Kindprozesse vererbt und gelangen oft in Protokolle oder Absturzberichte. Fรผr sensible Daten empfiehlt sich daher ein dedizierter Geheimnismanager oder eine verschlรผsselte Datei mit eingeschrรคnkten Berechtigungen anstelle einer einfachen Variablen.

KI-Assistenten kรถnnen die Funktion unbekannter Variablen erklรคren, Konfigurationsdateien auf fehlende oder doppelte Eintrรคge รผberprรผfen und versehentlich in Variablen offengelegte Geheimnisse kennzeichnen. Werkzeuge fรผr maschinelles Lernen kรถnnen zudem Prozessumgebungen auf vielen Servern scannen, um Fehlkonfigurationen zu erkennen, deren manuelle รœberprรผfung sehr aufwendig wรคre.

Ja. GitHub-Copilot Es kann Exportanweisungen, ร„nderungen an der ~/.bashrc-Datei und Shell-Skripte generieren, die Variablen wie $HOME oder $PATH lesen. Die Syntax wird wรคhrend der Eingabe vorgeschlagen; Sie sollten jedoch jeden Code, der Anmeldeinformationen verarbeitet, vor der Ausfรผhrung รผberprรผfen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: