Export ist der eingebaute Befehl der Bash-Shell. Wenn die Umgebungsvariablen in der Bash-Shell erstellt werden, erben sie nicht die Änderungen ihrer übergeordneten Shell, was bedeutet, dass beim Öffnen der neuen Shell die Werte der übergeordneten Shell nicht vorhanden sind in die neue untergeordnete Shell exportiert. Um die Werte der Umgebungsvariablen in die untergeordnete Shell zu exportieren, verwenden wir den export-Befehl, um diese Werte in die untergeordneten Prozesse zu exportieren.
In dieser Folge erläutern wir die Verwendung des Export-Befehls unter Linux.
Was ist der Exportbefehl in Linux
Der Befehl export wird verwendet, um die Umgebungsvariablen zu markieren, damit diese in die untergeordneten Shells exportiert werden können. Die allgemeine Syntax zur Verwendung des Exportbefehls:
$ export [options] [variable-name]
Wir können zwei Argumente mit dem export-Befehl verwenden; Einer kann eine beliebige Option sein (diese Optionen werden später besprochen) und ein Variablenname, der für den Export in die untergeordnete Shell markiert werden soll.
Am häufigsten werden die folgenden Optionen mit dem Exportbefehl verwendet:
Optionen | Erklärung |
-p | Es zeigt die exportierten Variablen der aktuellen Shell an |
-n | Es wird verwendet, um die Variable aus der Liste der exportierten Variablen zu entfernen |
-f | Es wird verwendet, um die Funktionen von der übergeordneten in die untergeordnete Shell zu exportieren |
Um die Verwendung des Exportbefehls zu verstehen, betrachten wir zunächst das Beispiel der Grundstufe. Wir werden eine Variable „myVariable“ deklarieren und eine Zeichenfolge von „LinuxFoss“ darin speichern, indem wir den Befehl verwenden:
$ myVariable=LinuxFoss

Um den Speicherwert der „myVariable“ anzuzeigen, verwenden Sie den echo-Befehl:
$ echo $myVariable

Der Wert „Linux Foss“ wurde angezeigt, öffnen Sie die untergeordnete Shell, indem Sie den Bash-Befehl ausführen:
$ bash

Die neue Bash-Shell wurde geöffnet, geben Sie den Wert von „myVariable“ aus, der in der übergeordneten Shell erstellt wurde:
$ echo $myVariable

In der Ausgabe wurde nichts angezeigt, da die in der übergeordneten Shell erstellte „myVariable“ nicht in die untergeordnete Shell exportiert wird, sodass wir die untergeordnete Shell verlassen:
$ exit

Sobald wir uns in der übergeordneten Shell befinden, exportieren wir die „myVariable“ in die untergeordneten Shells, indem wir den Exportbefehl verwenden:
$ export myVariable

Öffnen Sie erneut die untergeordnete Shell:
$ bash

Drucken Sie den Wert von „myVariable“ mit dem echo-Befehl:
$ echo $myVariable

Auf diese Weise können wir die Umgebungsvariablen markieren und in die neu erstellten Shells oder Child-Shells exportieren. Wenn wir nun die Exportvariablen der aktuellen Shell anzeigen möchten, können wir das „-p“-Flag verwenden:
$ export -p

Wir können im letzten der Liste den Namen von „myVariable“ sehen, den wir in den vorherigen Befehlen exportiert haben:

Und wenn wir „myVariable“ aus den Export-Variablenlisten entfernen wollen, können wir die Option „-n“ verwenden:
$ export -n myVariable

Wenn wir noch einmal die Liste der Exportvariablen der aktuellen Shell mit dem „-p“-Flag anzeigen:
$ export -p

Wir werden den Namen „myVariable“ nicht in der gesamten Liste sehen:

Der Name wurde entfernt, ebenso können wir eine Funktion myVariable() in der übergeordneten Shell erstellen und einen Wert darin speichern:
$ myVariable() { echo “HELLO! Its LinuxFoss”; }

Um diese Funktion in die untergeordnete Shell zu exportieren, verwenden wir das Flag „-f“, sonst wird sie als Name der Variablen betrachtet, nicht als Funktion:
$ export -f myVariable

Öffnen Sie die neue Shell mit dem „bash“-Befehl und drucken Sie den Wert von myVariable():
$ myVariable

Wenn der Befehl „Exportieren“ ohne Verwendung von Optionen ausgeführt wird, wird die Liste aller exportierten Variablen und Funktionen angezeigt:
$ export

Der export-Befehl wird auch verwendet, um den vim-Editor als Standard-Editor von Linux festzulegen, um den Vim-Editor mit dem export-Befehl auf Ihren Standard-Editor einzustellen:
$ export EDITOR=/usr/bin/vim

Verwenden Sie den grep-Befehl, um zu überprüfen, ob der vim-Editor als Standard-Editor festgelegt wurde:
$ export | grep EDITOR

Schlussfolgerung
Der export-Befehl ist einer der eingebauten Befehle der Bash-Shell, der verwendet wird, um die Umgebungsvariablen von der Eltern-Shell in die neu erstellte Kind-Shell zu exportieren. In diesem Follow-up wird der export-Befehl mit seiner Verwendung unter Linux anhand einiger Beispiele erklärt. Wir haben auch die Optionen erklärt, die zusammen mit dem Exportbefehl verwendet werden.