Einführung
Eine Umgebung ist ein Bereich, der Informationen darüber enthält, wie sich verschiedene Programme und Anwendungen verhalten. Linux-Umgebungsvariablen werden von den Anwendungen verwendet, um Informationen über die Umgebung zu erhalten.
Die Umgebung wird jedes Mal konfiguriert, wenn eine neue Shell-Sitzung erstellt wird. Das Ändern der Linux-Umgebungsvariablen hilft dem Benutzer zu steuern, wie er mit Programmen über die Shell interagiert, welche Standardwerte für das Aussehen des Shell-Fensters verwendet werden, welche Art von Shell verwendet wird, das Standard-Home-Verzeichnis usw.
Linux-Umgebungsvariablendatei
Informationen, die zum Einrichten der Umgebung erforderlich sind, werden über verschiedene Dateien durch einen als Initialisierung bezeichneten Prozess abgerufen. Das Betriebssystem führt diesen Vorgang durch, indem es /etc/profile
durchliest und .profile
Dateien.
Die Datei /etc/profile steht unter Linux-Administratorkontrolle und enthält wichtige Informationen, die vom Benutzer nicht bearbeitet werden können. Die .profile-Datei steht vollständig unter der Kontrolle des Benutzers und kann verwendet werden, um die Umgebung zu ändern.
Wenn Sie die Bash-Shell verwenden, können die Benutzerumgebungsvariablen in den Dateien .bash_profile und .bashrc erstellt werden.
Wenn diese Dateien nicht vorhanden sind, fährt das Betriebssystem mit der Erstellung der Umgebung fort und zeigt keinen Fehler an.
Das Terminal fordert den Benutzer zur Eingabe auf (gekennzeichnet durch $
Zeichen), nachdem die Umgebung eingerichtet wurde.
Linux-Umgebungsvariablen
Dies sind Name/Wert-Paare.
Umgebungsvariablen können mit den folgenden 5 Hauptbefehlen behandelt werden.
- printenv
- env
- eingestellt
- exportieren
- ungesetzt
Sehen wir uns jeden dieser Befehle einzeln an.
printenv
kann verwendet werden, um den Wert einer Umgebungsvariablen zu drucken. Wenn kein Schlüssel angegeben ist, werden alle Name-Wert-Paare als Ausgabe ausgegeben. Dazu gehören nur Variablen mit globalem Geltungsbereich.printenv-Befehlsbeispiel
Linux-Umgebungsvariablen werden per Konvention in Großbuchstaben definiert.
env
druckt auch die Name-Wert-Paare wieprintenv
. Dieser Befehl gibt auch nur Variablen mit globalem Gültigkeitsbereich aus. Es kann jedoch nicht verwendet werden, um bestimmte Werte von Umgebungsvariablen zu drucken.set
wird verwendet, um Shell-Variablen, Umgebungsvariablen, lokale Variablen und Shell-Funktionen zu drucken. Dazu gehören Variablen mit lokalem und globalem Geltungsbereich.Befehlsbeispiel setzen
export
wird verwendet, um neue Umgebungsvariablen zu erstellen, die auch nach dem Schließen einer Shell-Sitzung bestehen bleiben.unset
wird verwendet, um eine Umgebungsvariable zu lösen oder zu entfernen.
Einige wichtige vordefinierte Umgebungsvariablen
- LANG: Enthält die aktuelle Systemsprache.
- BENUTZERNAME: Enthält den Benutzernamen des aktuellen Benutzers.
- PWD: Enthält den Pfad des aktuellen Verzeichnisses.
- PFAD: Enthält eine durch Doppelpunkte getrennte Liste von Verzeichnissen, in denen das System nach ausführbaren Dateien sucht.
- HOME: Enthält den Pfad des Home-Verzeichnisses.
- SCHALE: Enthält den Pfad zur bevorzugten Shell des Benutzers.
- HERAUSGEBER: Enthält den Befehl zum Ausführen des Lightweight-Editors. Beispiel:
/usr/bin/nano
- VISUELL: Enthält den Befehl zum Ausführen des Editors, der für umfangreiche Bearbeitungsaufgaben verwendet wird. Beispiel:
Vi
(Vim) - BROWSER: Enthält den Befehl zum Ausführen des Standard-Webbrowsers.
Umgebungsvariablenoperationen
Sehen wir uns einige gängige Umgebungsvariablenoperationen in Linux an.
1. Neue Umgebungsvariablen erstellen
Neue Variablen können einfach erstellt werden, indem Sie einen neuen Variablennamen eingeben und ihm einen Wert in ""
zuweisen , getrennt durch =
unterschreiben.
Zwischen =
dürfen keine Leerzeichen stehen und Variablenname/-wert. Andernfalls gibt das Terminal einen Fehler zurück.
Sobald die Variable erstellt ist, werden ihre Werte mit dem echo
angezeigt Befehl.
Beispiel für eine neue Umgebungsvariable
Ein $
Zeichen muss dem Variablennamen vorangestellt werden, während der Wert mit Echo angezeigt wird, wie im obigen Beispiel gezeigt. Beim Erstellen einer neuen Variablen ist dies jedoch nicht erforderlich.
Nachdem wir nun eine neue Umgebungsvariable erstellt haben, versuchen wir, sie in der Liste der Variablen zu finden, die von printenv
angezeigt werden Befehl und gibt seinen Wert aus.
Dies kann mit dem grep-Befehl erfolgen.
Beispiel für eine grep-Umgebungsvariable
Es wird keine Ausgabe angezeigt. Das liegt daran, dass wir, obwohl wir eine neue Umgebungsvariable definiert haben, diese noch in die Datei „exportieren“ müssen, die die Namen aller Variablen enthält.
Durch das Exportieren wird die Variable für andere Programme und Subshells zugänglich.
Dies wird durch die Verwendung des export
erreicht Befehl, den wir im letzten Abschnitt besprochen haben.
$ export [VARIABLE_NAME]
Beispiel für einen Exportbefehl
Der Wert der Variablen wird nun angezeigt. Es kann sogar in einer neuen Subshell darauf zugegriffen werden.
Subshell-Exportbeispiel
Wir können die Subshell verlassen, indem wir exit
eingeben Befehl. Dies bringt uns zurück zur ursprünglichen Shell.
2. Werte bestehender Variablen ändern
Vorhandene Variablen können bearbeitet werden, indem ihnen einfach ein neuer Wert zugewiesen wird. Wir können die vorgenommenen Änderungen sehen, indem wir den Variablenwert mit echo
ausgeben .
Wert der Umgebungsvariablen ändern
3. Umgebungsvariablen entfernen
Der unset
Befehl wird verwendet, um vorhandene Umgebungsvariablen zu entfernen.
$ unset [VARIABLE_NAME]
Unset-Befehlsbeispiel
Persistente vs. nicht persistente Umgebungsvariablen
Alle Umgebungsvariablen, mit denen wir uns bisher befasst haben, waren nicht persistente Variablen. Die an diesen vorgenommenen Änderungen bleiben nur so lange bestehen, bis die aktuelle Shell aktiv ist, und wirken sich nicht auf neue Shell-Fenster aus. Sobald die aktuelle Sitzung geschlossen wird, gehen alle Änderungen an Variablen – erstellt oder bearbeitet – verloren.
Um Änderungen über neue Sitzungen und Fenster hinweg beizubehalten, können wir persistente Umgebungsvariablen erstellen. Diese werden erstellt, indem Variablen in der Umgebungsvariablendatei im Home-Verzeichnis definiert werden – .profile, .bash_profile und .bashrc.
Wir können die .bashrc
öffnen Datei mit nano oder vim .
Zugriff auf die .bashrc-Datei
Definieren Sie eine neue Variable irgendwo innerhalb der .bashrc
Datei mit dem export
Befehl. Änderungen speichern und Datei verlassen.
env-Variable in .bashrc
definierenSchließen Sie die aktuelle Terminalsitzung und öffnen Sie eine neue.
Drucken Sie nun die soeben erstellte Umgebungsvariable mit dem echo
aus Befehl.
Ausgabebeispiel für persistente Umgebungsvariablen
Wir können sehen, dass die Variable auch nach dem Erstellen einer neuen Terminalsitzung und dem Schließen der vorherigen bestehen bleibt.
Schlussfolgerung
Umgebungsvariablen sind sehr wichtig und nützlich. Sie können die Funktionsweise von Programmen verändern und dem Benutzer die Interaktion mit ihnen erleichtern. Vorhandene Variablen können leicht nach den Bedürfnissen des Benutzers geändert werden. Darüber hinaus können auch neue Variablen einfach erstellt werden. Umgebungsvariablen können ändern, wie der Benutzer mit der Shell interagiert, und sogar den Zugriff auf bestimmte Programme beschleunigen.