Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

export - Shell-Variablen exportieren

&pagelevel(4)&pagelevel

(set export attribute for variables)


Das in die POSIX-Shell sh eingebaute Kommando export exportiert die angegebene Shell-Variable. Jedes Kommando kennt dann den Namen dieser Variablen und kann auf ihren Wert zugreifen.

Wenn Sie die Shell beenden, in der Sie Variablen definiert und exportiert haben, sind diese Variablen wieder gelöscht. Deshalb sollten Sie häufig verwendete Variablen in Ihrer Datei $HOME/.profile definieren und exportieren.

Stellungsparameter und Shell-Funktionen können nicht exportiert werden. Einige Standard-Variablen der Shell sind auch in Subshells verfügbar, ohne exportiert worden zu sein. Dazu gehören z.B. HOME, IFS, PATH, PS1, PS2, usw. Wenn Sie einer dieser Variablen einen anderen Wert zuweisen und der geänderte Wert auch in jeder Subshell gelten soll, dann müssen Sie diese Variable mit export exportieren. Sonst gilt in jeder Subshell wieder der Standard-Wert.

Das eingebaute sh-Kommando set gibt alle Variablen mit ihrem jeweiligen Wert aus, die in der aktuellen Shell definiert sind, also auch solche, die Sie nicht exportiert haben. Das Kommando export gibt die Namen und Werte aller Shell-Variablen aus, die an jedes aufgerufene Kommando und jede Subshell weitergereicht werden.


Syntax


Format 1:export[ name[=wert]]...
Format 2:export -p



Format 1:export[ name[=wert]]...


name[=wert]

Name der Shell-Variablen, die Sie exportieren wollen. Sie können dieser Variablen auch erst nach dem Aufruf von export einen Wert wert zuweisen.

Sie können beliebig viele Shell-Variablen angeben, jeweils getrennt durch ein Leerzeichen.

name nicht angegeben:
export schreibt die Namen aller Shell-Variablen auf die Standard-Ausgabe, die in der aktuellen Shell exportiert wurden. Die Ausgabe hat folgende Form:

name=wert

...


Format 2:export -p


-p

Wird -p gesetzt, so gibt export die Namen und die Werte aller Variablen, die exportiert wurden, im folgenden Format auf der Standard-Ausgabe aus:

"export %s=%s\n", name, wert

Die Option -p ermöglicht einen übertragbaren Zugriff auf die Werte, die gesichert und später wiederhergestellt werden können (z.B. mit einer Punkt-Prozedur).

Die Shell formatiert die Ausgabe und berücksichtigt dabei die richtige Verwendung der Anführungszeichen. Daher ist die Ausgabe für eine Wiedereingabe an die Shell bei Kommandos, die die gleichen Export-Ergebnisse erzielen, geeignet.

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos export:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Beispiel

Die Shell-Prozedur ps1 soll den Wert der Variablen PS1 ausgeben. Die Prozedur hat folgenden Inhalt:

: Aufruf mit sh ps1
echo PS1: $PS1

Der folgende Bildschirm-Dialog soll zeigen, warum die Shell-Variable PS1 exportiert werden muss:

$ export
export HOME

export PATH

$ PS1=hello
$ sh ps1

PS1:

$ export PS1
$ export

export HOME

export PATH

export PS1

$ sh ps1

PS1: hello

Wenn Sie eine Shell-Variable definieren, ist sie nur der aktuellen Shell bekannt. Da jede Shell-Prozedur von einer Subshell ausgeführt wird, muss eine Variable für Shell-Prozeduren exportiert werden.

Siehe auch

env, set