在 Linux 中导出命令应该做什么?

ben*_*rre 9 linux terminal

在 Linux 中导出命令应该做什么?

Pet*_*aut 9

将 shell 变量导出为环境变量。


Zor*_*che 8

这是一个演示该行为的示例。

$ # 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'
Run Code Online (Sandbox Code Playgroud)

您会注意到,如果没有export您创建的新 bash 进程,您将无法看到testvar. 当testvar被出口,新工艺能够看到testvar