Qu'est-ce que la commande d'exportation est censée faire sous Linux?

9

Qu'est-ce que la commande d'exportation est censée faire sous Linux?

benstpierre
la source

Réponses:

8

Voici un exemple pour illustrer le comportement.

$ # set testvar to be a value
$ testvar=asdf
$ # demonstrate that it is set in the current shell
$ echo $testvar
$ # create a bash subprocess and examine the environment.
$ bash -c "export | grep 'testvar'"

$ bash -c 'echo $testvar'

$ # export testvar and set it to the a value of foo
$ export testvar=foo
$ # create a bash subprocess and examine the environment.
$ bash -c "export | grep 'testvar'"
declare -x testvar="foo"
$ bash -c 'echo $testvar'
foo
$ # mark testvar to not be exported
$ export -n testvar
$ bash -c "export | grep 'testvar'"

$ bash -c 'echo $testvar'

Vous remarquerez que sans exportle nouveau processus bash que vous avez créé, vous ne pouviez pas voir testvar. Quand a testvarété exporté, le nouveau processus a pu voir testvar.

Zoredache
la source
9

Exportez une variable shell en tant que variable d'environnement.

Peter Eisentraut
la source
Le résultat net est que lorsque vous «exportez» une variable, elle devient disponible en tant que variable d'environnement dans toutes les applications que vous exécutez dans ce shell.
McJeff
Pouvez-vous montrer un exemple d'utilisation?
benstpierre
1
Avez-vous essayé la manpage? ss64.com/bash/export.html
ceejayoz
1

Veuillez consulter ce didacticiel Bash par exemple d'IBM. Il inclut même un exemple d'utilisation export.

mctylr
la source