Shell, der Befehlsinterpreter eines Betriebssystems, verarbeitet die in die Befehlszeile eingegebenen und in Linux weit verbreiteten Befehle. Eine Variable ist wie ein Zeiger auf bestimmte Daten und enthält einen bestimmten Wert, der alles sein kann. Ein Benutzer kann mit Hilfe der Shell Variablen erstellen, löschen oder zuweisen.
Wenn eine Shell läuft, sind drei Arten von Variablen vorhanden:
- Lokale Variablen
- Shell-Variablen
- Umgebungsvariablen
In diesem Tutorial werden wir sehen, wie Sie Umgebungs- und Shell-Variablen in Linux setzen können.
Was sind Shell-Variablen?
Die Shell-Variablen sind spezifisch für die aktuelle Shell und werden von der Shell verwendet, um korrekt zu funktionieren. Diese Variablen sind temporär, und um sie dauerhaft zu machen, können Sie sie als Umgebungsvariablen exportieren.
Einige der üblichen Shell-Variablen sind:
- UID: ID des aktuell angemeldeten Benutzers
- HOSTNAME: Der Hostname des Computers zu einem bestimmten Zeitpunkt
- BASH_VERSINFO: Maschinenlesbare Form der Bash-Version
- BASH_VERSION: Für Menschen lesbare Ausgabe der Bash-Version
- DIRSTACK: Stapel von Verzeichnissen, die mit den Befehlen „popd“ und „pushd“ verfügbar sind
- SHELLOPTS: Shell-Optionen können gesetzt werden
Was sind Umgebungsvariablen?
Umgebungsvariablen sind systemweit verfügbare Variablen, die jedem Programm oder untergeordneten Prozess der Shell zur Verfügung stehen. Außerdem definiert das Shell-Skript die Umgebungsvariablen, die zum Ausführen des Programms benötigt werden.
Einige der üblichen Umgebungsvariablen sind:
- MAIL: E-Mail-Verzeichnis des Benutzers oder der Pfad zum Postfach des Benutzers
- TEMP: Verzeichnis des Verzeichnisses der temporären Dateien
- PWD: Aktuelles Arbeitsverzeichnis
- OLDPWD: Das vorherige Arbeitsverzeichnis
- BENUTZER: Der aktuelle Benutzer hat sich angemeldet
- LANG: Die aktuelle Sprache
- LOGNAME: Benutzername
- HOME: Das Home-Verzeichnis des aktuellen Benutzers
- _: Zuletzt ausgeführter vorheriger Befehl
- SCHALE: Die aktuelle Shell
- HERAUSGEBER: Der standardmäßige Texteditor von Linux
- HOSTNAME: Der Hostname des Geräts im Netzwerk
Hier sind einige der Befehle, die Ihnen beim Setzen von Shell- und Umgebungsvariablen helfen:
- env: Sie können eine benutzerdefinierte Umgebung verwenden, um ein anderes Programm auszuführen, ohne die vorhandene Umgebung zu ändern.
- printenv: Dadurch werden alle Umgebungsvariablen Ihres Systems gedruckt.
- einstellen: Wird verwendet, um die Umgebungs- und Shell-Variablen festzulegen.
- unset: Wird verwendet, um die Umgebungs- und Shell-Variablen zu löschen.
- Exporte: Lassen Sie uns Shell-Variablen in Umgebungsvariablen exportieren.
Wie werden Shell- und Umgebungsvariablen gedruckt?
Shell verfolgt alle Umgebungs- und Shell-Variablen. Und um darauf zuzugreifen, können wir diese beiden Befehle verwenden:
- printenv: um alle Umgebungsvariablen zu drucken.
- einstellen: um Shell-Variablen zu drucken.
Wie setze ich Umgebungs- und Shell-Variablen in Linux?
Jetzt wissen wir also, was Umgebungs- und Shell-Variablen sind. Lassen Sie uns also lernen, wie Sie diese Variablen unter Linux erstellen und festlegen. Um den Unterschied zwischen Umgebungs- und Shell-Variablen praktisch zu verstehen. Wir setzen zuerst eine Shell-Variable und dann die Umgebungsvariable.
Erstellen der Shell-Variablen
- Um eine Shell-Variable zu setzen, führen Sie diesen Befehl in Ihrer Shell aus. Dadurch wird eine Shell-Variable erstellt, die in Ihrer aktuellen Sitzung verfügbar ist.
TESTVAR='Hello!'
- Wir können unsere Variable auch mit dem Befehl grep überprüfen.
set | grep TESTVAR
Sie werden eine Ausgabe wie diese sehen.
TESTVAR='Hello!'
- Sie können den Wert einer Shell-Variablen auch mit dem folgenden Befehl sehen.
echo $TESTVAR
- Da es sich um eine Shell-Variable handelt, ist sie für andere Anwendungen oder untergeordnete Prozesse nicht verfügbar. Sie können sogar überprüfen, ob es sich nicht um eine Umgebungsvariable handelt.
printenv | grep TESTVAR
Es erfolgt keine Ausgabe. Es bedeutet, dass es keine Umgebungsvariable ist.
Umgebungsvariablen erstellen - Jetzt exportieren wir die Shell-Variable in eine Umgebungsvariable. Verwenden Sie dazu den folgenden Befehl.
export TESTVAR
- Dadurch wird unsere Shell-Variable in eine Umgebungsvariable umgewandelt und um dies zu überprüfen, führen Sie den folgenden Befehl aus.
printenv | grep TESTVAR
Diesmal sehen Sie eine Ausgabe wie diese.
TESTVAR='Hello!'
- Jetzt wissen wir, wie wir eine Shell-Variable in eine Umgebungsvariable konvertieren können, aber wie man eine Umgebungsvariable direkt erstellt. Mit diesem Befehl können Sie eine Umgebungsvariable in einem einzigen Schritt festlegen.
export NEWVAR="Hello Env"
- Es wird direkt als Umgebungsvariable exportiert und Sie können das überprüfen.
printenv | grep NEWVAR
Sie werden eine Ausgabe wie diese sehen.
NEWWAR=Hello Env
export TESTVAR
printenv | grep TESTVAR
Diesmal sehen Sie eine Ausgabe wie diese.
TESTVAR='Hello!'
export NEWVAR="Hello Env"
printenv | grep NEWVAR
Sie werden eine Ausgabe wie diese sehen.
NEWWAR=Hello Env
Auf diese Weise können Sie Shell und Umgebung in Linux einstellen.
Variablen zurücksetzen
Jetzt wissen Sie, wie man Variablen setzt. Sehen wir uns an, wie man sie aufhebt.
- Mit diesem Befehl können Sie eine Umgebungsvariable wieder in eine Shell-Variable umwandeln.
export -n TESTVAR
- Es bleibt eine Shell-Variable, aber keine Umgebungsvariable. Lassen Sie uns das überprüfen.
printenv | grep TESTVAR
- Es wird keine Ausgabe geben, aber wenn wir es auf die Shell-Variable prüfen,
set | grep TESTVAR
Sie werden die Ausgabe sehen.
TESTVAR='Hello!'
- Und wenn Sie das komplett zurücksetzen wollen, verwenden Sie diesen Befehl.
unset TESTVAR
Schlussfolgerung
Umgebungs- und Shell-Variablen können für Sie sehr nützlich sein, wenn Sie häufig mit Shell arbeiten, und es wird langfristig gut sein, zu lernen, wie diese Variablen gesetzt und gelöscht werden.