Dieser Artikel erklärt die Grundlagen des Linux-Exportbefehls und zeigt, wie Linux-Umgebungsvariablen mit dem Exportbefehl festgelegt, angezeigt und bearbeitet werden.
Umgebungsvariablen in Linux werden von den meisten Aktivitäten verwendet, die auf einem Linux-System stattfinden. Von der Ausführung eines Standardbefehls wie „ls“ bis zur Installation einer neuen Software in Ihrem Linux-System verwendet oder ändert jede Aktivität die Liste der Umgebungsvariablen.
Definition der Umgebungsvariablen:
Es ist ein benanntes Objekt, das von mehreren Anwendungen verwendet werden kann, da es einige wertvolle Informationen enthält, die von diesen Anwendungen benötigt werden
1. Alle aktuell exportierten Variablen anzeigen
Verwenden Sie export -p, um alle Umgebungsvariablen wie unten gezeigt anzuzeigen. Hier wird eine Teilausgabe angezeigt.
$ export -p declare -x COLORTERM="gnome-terminal" declare -x DEFAULTS_PATH="/usr/share/gconf/gnome.default.path" declare -x DESKTOP_SESSION="gnome" declare -x HOME="/home/himanshu" declare -x LOGNAME="himanshu" declare -x MANDATORY_PATH="/usr/share/gconf/gnome.mandatory.path" declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" declare -x PWD="/home/himanshu" declare -x SHELL="/bin/bash" declare -x SSH_AGENT_PID="1663" declare -x USER="himanshu" declare -x USERNAME="himanshu" declare -x WINDOWID="56623107" ..
Beachten Sie, dass Sie diese Liste auch mit dem Befehl „env“ sehen können.
2. Eine bestimmte exportierte Variable anzeigen
Verwenden Sie den echo-Befehl, um eine bestimmte Umgebungsvariable anzuzeigen. Das folgende Beispiel zeigt den Wert der Umgebungsvariablen PATH.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Siehe auch 15 nützliche integrierte Bash-Shell-Befehle, die einige andere Befehle (z. B. env, unset usw.) erklären, die auch mit env-Variablen funktionieren.
3. Legen Sie eine Umgebungsvariable fest
Sie können eine neue Umgebungsvariable wie unten gezeigt hinzufügen. Im Folgenden wird eine neue Umgebungsvariable mit dem Namen „MYAPP“ erstellt und ihr der Wert 1 zugewiesen.
$ export MYAPP=1
Überprüfen Sie mit dem echo-Befehl, ob die Umgebungsvariable richtig eingestellt ist.
$ echo $MYAPP 1
Hinweis:Geben Sie kein Leerzeichen vor und/oder nach dem =-Zeichen ein. Beispielsweise sind alle folgenden ungültig.
$ export MYAPP = 1 -bash: export: `=': not a valid identifier -bash: export: `1': not a valid identifier $ export MYAPP =1 -bash: export: `=1': not a valid identifier $ export MYAPP= 1 -bash: export: `1': not a valid identifier
4. Einen Wert an eine Umgebungsvariable anhängen
Im folgenden Beispiel versuchen wir, einen neuen Pfad an die PATH-Variable anzuhängen. Verwenden Sie „:“, um die Werte zu trennen.
$ export PATH=$PATH:/home/himanshu/practice/
Überprüfen Sie, ob der Wert richtig angehängt wurde.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/himanshu/practice/
5. Variablen ohne Export
Weisen Sie einer Variablen einen Wert in einer interaktiven Shell zu und versuchen Sie, in Ihrem Shell-Skript darauf zuzugreifen.
$ MYAPP=1 $ cat myapp.sh #!/bin/bash echo "MYAPP=$MYAPP" MYAPP=2 echo "MYAPP=$MYAPP"
Führen Sie nun das obige Skript wie unten gezeigt aus.
$ ./myapp.sh MYAPP= MYAPP=2
Trotzdem erhalten Sie einen leeren Wert für die Variable MYAPP. Die Shell speichert die Variable MYAPP mit dem LINUX nur in der aktuellen Shell. Während der Ausführung von myapp.sh erzeugt es die Shell und führt das Skript aus. Die Variable MYAPP hat also nicht den Wert in der erzeugten Shell. Sie müssen die Variable exportieren, damit sie von einem anderen Programm geerbt wird – einschließlich eines Shell-Skripts.
Sehen Sie sich auch das Bash-Variablen-Tutorial an, das den lokalen und globalen Gültigkeitsbereich von Variablen, das Deklarieren einer Bash-Variablen und einige andere Beispiele erklärt.
6. Variablen dauerhaft exportieren
Um Variablen dauerhaft zu exportieren, können Sie den Exportbefehl in eine der folgenden Startdateien einfügen:
~/.profile ~/.bash_profile /etc/profile
Es könnte einige Einschränkungen geben, wie „~/.profile wird von Bash nicht gelesen, wenn ~/.bash_profile oder ~/.bash_login existiert.“ Man sollte also die „/usr/share/doc/bash/examples/startup-files“ lesen, um eine bessere Vorstellung davon zu bekommen, wie diese Startdateien funktionieren.
Es ist auch wichtig, die Ausführungsreihenfolge von .bash_profile, .bashrc, .bash_login, .profile und .bash_logout zu verstehen, was Ihnen bei der Entscheidung helfen wird, welche Datei Sie verwenden, um Ihre Umgebungsvariable für Ihre spezifische Situation festzulegen.