“导出” 起什么作用?

“导出” 起什么作用?

我始终不明白“export”是干什么的。例如,这两个有什么区别?

  1. PYTHONPATH=/home/myaccount/ & export PYTHONPATH
  2. PYTHONPATH=/home/myaccount/

一个有出口,另一个没有。

答案1

如果不导出,则环境变量将仅在本地可见。导出后,它们将可供您可能启动的其他程序和 shell(从该 shell)使用。

答案2

在 shell 中“导出”一个变量,使它可供由以下程序创建的所有子 shell 和进程使用:壳。

确实如此不是使其在系统中的任何地方可用,仅由从该 shell 创建的进程可用。

这里有一个例子,您可以尝试证明这一点。

(“set” 将列出终端中设置的所有变量)

   $ ZZZ=test
   $ bash # this runs bash in bash, you can also type 'xterm' to see it work there too.
   $ set |grep ZZZ # You will not see ZZZ=test
   $ exit # Lets get out of the subshell and try export!
   $ export ZZZ
   $ bash
   $ set |grep ZZZ # and there we go! our variable is set in the subshell/process.

您可以打开其他终端,并看到它不是但是设置在那里。

http://ss64.com/bash/export.html

相关内容