Ich versuche die Verwendung von Befehlen zu verstehen export
.
Ich habe es versucht man export
, aber es gibt kein Handbuch für diesen Befehl.
Kann mir bitte jemand helfen, die Verwendung von export
UNIX zu verstehen ?
Ich versuche die Verwendung von Befehlen zu verstehen export
.
Ich habe es versucht man export
, aber es gibt kein Handbuch für diesen Befehl.
Kann mir bitte jemand helfen, die Verwendung von export
UNIX zu verstehen ?
Antworten:
Wenn Sie ein Programm ausführen, erbt das untergeordnete Programm seine Umgebungsvariablen vom übergeordneten Programm. Zum Beispiel , wenn $HOME
festgelegt ist /root
in den übergeordneten dann dem Kind $HOME
Variable wird auch festgelegt /root
.
Dies gilt nur für Umgebungsvariablen, die für den Export markiert sind. Wenn Sie eine Variable in der Befehlszeile wie festlegen
$ FOO="bar"
Diese Variable ist in untergeordneten Prozessen nicht sichtbar. Nicht, wenn Sie es exportieren:
$ export FOO
Sie können diese beiden Aussagen in bash (aber nicht in old-school sh) zu einer einzigen kombinieren:
$ export FOO="bar"
Hier ist ein kurzes Beispiel, das den Unterschied zwischen exportierten und nicht exportierten Variablen zeigt. Um zu verstehen, was passiert, wissen Sie, dass sh -c
ein untergeordneter Shell-Prozess erstellt wird, der die Umgebung der übergeordneten Shell erbt.
$ FOO=bar
$ sh -c 'echo $FOO'
$ export FOO
$ sh -c 'echo $FOO'
bar
Hinweis: Um Hilfe zu integrierten Shell-Befehlen zu erhalten, verwenden Sie help export
. Integrierte Shell-Befehle sind Befehle, die Teil Ihrer Shell sind und keine unabhängigen ausführbaren Dateien wie /bin/ls
.
Unix
Die Befehle env, set und printenv zeigen alle Umgebungsvariablen und ihre Werte an. env und set werden auch zum Festlegen von Umgebungsvariablen verwendet und häufig direkt in die Shell integriert. printenv kann auch zum Drucken einer einzelnen Variablen verwendet werden, indem dieser Variablenname als einziges Argument für den Befehl angegeben wird.
Unter Unix können auch die folgenden Befehle verwendet werden, hängen jedoch häufig von einer bestimmten Shell ab.
export VARIABLE=value # for Bourne, bash, and related shells
setenv VARIABLE value # for csh and related shells
Sie können einen Blick haben diese an
VARIABLE=value; export VARIABLE
anstatt sie sofort zuzuweisen und zu exportieren. Der set
Befehl in C Shell gilt eher für Shell-Variablen als für Umgebungsvariablen. setenv
ist das Gegenstück zu export
. Der set
Befehl in von Bourne abgeleiteten Shells druckt alle Variablen, nicht nur exportierte (Umgebungs-) Variablen. Zumindest in der env
Vergangenheit ist der Befehl von der Shell getrennt (kein integrierter Befehl), obwohl er leicht in einen integrierten Befehl umgewandelt werden kann. Es legt die Umgebung für einen bestimmten Befehl fest, nicht für die Shell, die ihn ausführt.
export
ist ein integrierter Befehl für die bash
Shell und andere Bourne-Shell-Varianten . Es wird verwendet, um eine Shell-Variable für den Export in untergeordnete Prozesse zu markieren.