GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So setzen und listen Sie Umgebungsvariablen in Linux auf

In Linux sind Umgebungsvariablen dynamische benannte Werte, die als Platzhalter für gespeicherte Informationen im System fungieren, die von Befehlszeilenanwendungen verwendet werden. Wie jede andere Variable besteht sie aus zwei Teilen – einem Namen und einem zugeordneten Wert.

Hier ist ein kurzer Blick auf die Formatierung von Variablen:

KEY=value
KEY="this is also a value"
KEY=valueA:valueB

Ein paar Dinge zu beachten:

  • Vor oder nach dem „=“-Symbol darf kein Leerzeichen stehen.
  • Wenn die Werte Leerzeichen enthalten, werden Anführungszeichen verwendet.
  • Sie können einer Variablen mehrere Werte zuweisen. Jeder Wert muss durch einen Doppelpunkt (:) getrennt werden.
  • Bei den Namen der Variablen wird zwischen Groß- und Kleinschreibung unterschieden. Somit bezeichnen „SCHLÜSSEL“ und „Schlüssel“ zwei verschiedene Variablen. Per Konvention sollte eine Umgebungsvariable in GROSSBUCHSTABEN geschrieben werden.

Mithilfe von Umgebungsvariablen können Sie möglicherweise die Funktionsweise Ihres Systems anpassen, einschließlich des Verhaltens der auf Ihrem System installierten Anwendungen.

Beispielsweise können Sie Umgebungsvariablen verwenden, um Informationen über Standardanwendungen wie einen Texteditor, einen Browser oder sogar den Pfad zu einer ausführbaren Datei zu speichern. Dadurch können Sie das System an Ihre persönlichen Bedürfnisse oder die Bedürfnisse einer Gruppe von Benutzern anpassen.

Für diese Lektüre haben wir nun ein ausführliches Tutorial zusammengestellt, in dem erläutert wird, wie Sie Umgebungsvariablen auf Ihrem Linux-PC festlegen und auflisten. Dadurch erhalten Sie ein praktisches Verständnis für die Verwendung von Umgebungsvariablen zur Personalisierung Ihres Systems.

Fangen wir also ohne weiteres an:

Was ist der Unterschied zwischen Umgebungsvariablen und Shell-Variablen?

Bevor wir beginnen, wollen wir zunächst die Unterschiede zwischen einer Umgebungsvariablen und einer Shell-Variablen verstehen.

Um es einfach auszudrücken, eine „Umgebungsvariable“ ist global verfügbar und wird von allen hervorgebrachten untergeordneten Prozessen oder Shells geerbt.

Shell-Variablen hingegen sind Variablen, die nur für die aktuelle Shell-Instanz gelten. Bash, zsh und alle anderen Shells haben ihre eigenen internen Shell-Variablen. Diese werden im Allgemeinen verwendet, um temporär relevante Daten zu verfolgen, wie das aktuelle Arbeitsverzeichnis.

Jetzt können Sie eine Shell-Variable als Umgebungsvariable verfügbar machen. Alles, was Sie tun müssen, ist den Befehl „Exportieren“ zusammen mit dem Variablennamen zu verwenden. Dadurch wird sein Wert global exportiert, sodass neue Programme und Subshells ihn jetzt verwenden können.

Hier ist ein Beispiel, wie es gemacht wird:

Darauf gehen wir in einem späteren Abschnitt näher ein.

Wie man Umgebungsvariablen auflistet und festlegt

Es stehen unzählige Befehle zur Verfügung, die Ihnen beim Auflisten und Festlegen von Variablen helfen. Hier ist ein kurzer Blick auf einige der häufigsten Befehle, die wir in diesem Tutorial verwenden werden:

  • exportieren :Wird verwendet, um den Wert einer neu zugewiesenen Umgebungsvariablen zu exportieren.
  • env :Wird verwendet, um ein anderes Programm in einer benutzerdefinierten Umgebung auszuführen, ohne dass das aktuelle geändert werden muss. Es kann mit einem Argument verwendet werden, um eine Liste aller vorhandenen Umgebungsvariablen in der Shell auszugeben.
  • printenv :Wird verwendet, um alle (oder bestimmte) Umgebungsvariablen und Definitionen der aktuellen Umgebung zu drucken.
  • festgelegt :Wird verwendet, um eine Umgebungs- oder Shell-Variable zuzuweisen oder zu definieren. Wenn es ohne Argument verwendet wird, gibt es eine Liste aller Variablen aus – dazu gehören Umgebungsvariablen, Shell-Variablen und Shell-Funktionen.
  • unset :Wird verwendet, um eine angegebene Umgebungs- oder Shell-Variable zu löschen.

Mit diesen Befehlen können Sie Umgebungsvariablen auf Ihrem Linux-System auflisten und setzen.

Umgebungsvariablen auflisten

Der am häufigsten verwendete Befehl zum Anzeigen der Umgebungsvariablen ist „printenv“.

Wenn Sie den Namen einer Variablen als Argument für den Befehl verwenden, wird der Wert der Variablen angezeigt. Wenn es jedoch ohne Argument verwendet wird, listet es alle Umgebungsvariablen auf dem System auf.

Hier sind einige Beispiele:

Angenommen, Sie möchten den Wert der Umgebungsvariable „HOME“ sehen. Dazu müssen Sie den folgenden Befehl ausführen:

$ printenv HOME

Dadurch erhalten Sie den Pfad des aktuell angemeldeten Benutzers:

Sie können auch zwei oder mehr Argumente über den Befehl „printenv“ wie folgt übergeben:

$ printenv PWD LANG

Sie erhalten einen ähnlichen Ausgabebildschirm:

Wenn Sie nun „printenv“ ohne Argument ausführen, wird eine Liste aller Umgebungsvariablen angezeigt.

Jetzt zeigen die Befehle printenv und env nur die Umgebungsvariablen an. Was aber, wenn Sie alle Variablen Ihres Systems auflisten möchten? Dies schließt alles ein, angefangen von Umgebungsvariablen über Shell-Variablen bis hin zu Shell-Funktionen.

Nun, dann können Sie den „set“-Befehl ohne Argument verwenden:

Wie Sie im Bild sehen können, zeigt der Befehl eine große ausführliche Liste aller Variablen an. Wenn Sie die Ausgabe weiterleiten möchten, können Sie stattdessen diesen Befehl verwenden:

$ set | less

Abgesehen von all dem können Sie auch den echo-Befehl verwenden, wenn Sie die Werte der Shell-Variablen drucken möchten. Geben Sie einfach das Echo ein und übergeben Sie die betreffende Shell-Variable als Argument. Hier ist ein Beispiel für die Verwendung mit der BASH_VERSION-Variablen.

Um Ihnen zu helfen, mit diesen Befehlen auf Ihrem System zu experimentieren, finden Sie hier eine Liste mit einigen der häufigsten Befehlsumgebungsvariablen.

  • EDITOR – Der standardmäßig zu verwendende Dateieditor, wenn Sie den Editor im Terminal eingeben.
  • HOME – Das Home-Verzeichnis des aktuellen Benutzers.
  • SPRACHE – Die aktuellen Gebietsschemaeinstellungen.
  • LOGNAME – Der Name des aktuellen Benutzers.
  • LS_COLORS – Definiert alle Farbcodes, die zum Hinzufügen der optionalen farbigen Ausgabe zum Befehl ls verwendet werden. Diese Farben werden verwendet, um zwischen verschiedenen Dateitypen zu unterscheiden und die Ausgabe leichter verdaulich zu machen.
  • MAIL – Der Ort, an dem die E-Mails des aktuellen Benutzers gespeichert sind.
  • PFAD – Eine Liste von Verzeichnissen, die beim Ausführen von Befehlen durchsucht werden sollen. Wenn Sie einen Befehl ausführen, durchsucht das System diese Verzeichnisse in der angegebenen Reihenfolge und verwendet die erste gefundene ausführbare Datei.
  • PWD – Speicherort des aktuellen Arbeitsverzeichnisses.
  • OLDPWD – Speicherort des vorherigen Arbeitsverzeichnisses.
  • SCHALE – Der Pfad der Shell des aktuellen Benutzers, z. B. bash oder zsh.
  • LAUFZEIT – Die aktuelle Terminalemulation.
  • BENUTZER – Der aktuell angemeldete Benutzer.

Lassen Sie uns nun darüber sprechen, wie die Umgebungsvariablen festgelegt werden.

Umgebungsvariablen setzen

Die übliche Vorgehensweise zum Erstellen einer Umgebungsvariablen besteht darin, eine Shell-Variable zu erstellen und sie dann als Umgebungsvariable zu exportieren.

Um nun eine neue Shell-Variable zu erstellen, verwenden wir den folgenden Befehl:

MY_VAR=FOSSLinux

Sie können jetzt den echo-Befehl verwenden, um zu überprüfen, ob die Variable auf den angegebenen Wert gesetzt ist.

$ echo $MY_VAR

Verwenden Sie auf ähnliche Weise printenv, um festzustellen, ob die Variable eine Umgebungsvariable ist. Wenn nicht, erhalten Sie eine leere Ausgabe.

$ printenv MY_VAR

Überprüfen Sie außerdem, ob die Variable von der Sub-Shell geerbt wird, indem Sie den folgenden Befehl verwenden:

$ bash -c 'echo $MY_VAR'

Auch hier erhalten Sie eine leere Ausgabe, wie im folgenden Bild gezeigt:

Nachdem wir die Shell-Variable MY_VAR gesetzt und verifiziert haben, können wir sie mit dem export-Befehl als Umgebungsvariable setzen.

$ export MY_VAR

Sobald Sie fertig sind, können Sie die vorherigen Befehle verwenden, um zu sehen, ob es als Umgebungsvariable aufgeführt ist und ob es von der Sub-Shell geerbt wird.

Sie können eine Umgebungsvariable auch mit einer einzelnen Zeile festlegen, wie unten gezeigt:

$ export NEW_VAR="This is a new variable"

Beachten Sie jedoch, dass auf diese Weise erstellte Umgebungsvariablen nur für die aktuelle Sitzung verfügbar sind. Sobald Sie sich abmelden oder eine neue Shell öffnen, geht die Umgebungsvariable verloren.

Persistente und nicht persistente Umgebungsvariablen

Wie bereits erwähnt, gehen die Änderungen der Umgebungsvariablen in Ihrer aktuellen Shell verloren, sobald Sie sich von der Shell abmelden. Dies wird als nicht-persistente Umgebungsvariablen bezeichnet.

Um sie dauerhaft oder mit anderen Worten permanent zu machen, müssen Sie die Bash-Konfigurationsdateien bearbeiten.

Wenn Sie eine neue Sitzung starten, werden alle Umgebungsvariablen aus den folgenden Dateien gelesen. Daher können Sie diesen Dateien die Umgebungsvariablen hinzufügen, um sie persistent zu machen.

  • /etc/environment :Diese Datei enthält alle systemweiten Umgebungsvariablen. Sie können neue Variablen im folgenden Format hinzufügen:
$FOO=bar
$MY_VAR=FOSSLinux
  • /etc/profile :Diese Datei enthält Variablensätze, die geladen werden, wenn eine Bash-Anmeldeshell aufgerufen wird. Sie können in dieser Datei mit dem export-Befehl eine Umgebungsvariable deklarieren.
$ export JAVA_HOME="/path/to/java/home"
$ export PATH=$PATH:$JAVA_HOME/bin
  • Sie können auch Umgebungsdateien in Shell-spezifischen Konfigurationsdateien pro Benutzer festlegen. Wenn Sie beispielsweise Bash verwenden, können Sie die Variable in ~/.bashrc mit dem folgenden Befehl deklarieren:
$ export PATH="$HOME/bin:$PATH"

Um die neue Umgebungsvariable in der aktuellen Shell-Sitzung zu laden, müssen Sie den Quellbefehl wie folgt verwenden:

$ source ~/.bashrc

Sobald Sie diese Schritte durchlaufen haben, werden alle Umgebungsvariablen, die Sie gerade hinzugefügt haben, dauerhaft und bleiben intakt, selbst wenn Sie sich von der Shell abmelden.

Schlussfolgerung

Dies war also unsere ausführliche Anleitung zum Auflisten und Festlegen von Umgebungsvariablen in Linux. Wir hoffen, Sie fanden dies hilfreich und lehrreich. Falls Sie Fragen haben oder auf Probleme stoßen, hinterlassen Sie uns einen Kommentar und wir werden uns mit einer schnellen Antwort bei Ihnen melden.

Wenn Sie mit Linux beginnen, können Sie unsere Learn Linux-Reihe besuchen, in der wir ausführliche Tutorials und Leitfäden behandeln, die sowohl Anfängern als auch erfahrenen Linux-Benutzern zugute kommen.


Linux
  1. Linux-Umgebungsvariablen:Lesen und Festlegen auf einem Linux-VPS

  2. So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

  3. So setzen, listen und entfernen Sie Umgebungsvariablen in Linux

  4. Benutzerumgebungsvariablen Mit „su“ und „sudo“ unter Linux

  5. So setzen Sie Linux-Umgebungsvariablen mit Ansible

So installieren und konfigurieren Sie den Tor-Browser unter Linux

So setzen/löschen Sie Umgebungsvariablen in Linux

So listen Sie Benutzer und Gruppen unter Linux auf

So stellen Sie Datum und Uhrzeit unter Linux ein

So setzen und löschen Sie Umgebungsvariablen unter Linux

Linux-Umgebungsvariablen