定义带或不带导出的变量

新手上路,请多包涵

export 是什么?

有什么区别:

 export name=value

name=value

原文由 flybywire 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 476
2 个回答

export 使变量可用于子进程。

那是,

 export name=value

意味着变量名称可用于您从该 shell 进程运行的 任何 进程。如果您希望进程使用此变量,请使用 export ,然后从该 shell 运行该进程。

 name=value

表示变量作用域仅限于 shell,不能用于任何其他进程。您可以将其用于(例如)循环变量、临时变量等。

请务必注意,导出变量不会使其可用于父进程。也就是说,在衍生进程中指定和导出变量不会使其在启动它的进程中可用。

原文由 Brian Agnew 发布,翻译遵循 CC BY-SA 3.0 许可协议

为了说明其他答案在说什么:

 $ foo="Hello, World"
$ echo $foo
Hello, World
$ bar="Goodbye"
$ export foo
$ bash
bash-3.2$ echo $foo
Hello, World
bash-3.2$ echo $bar

bash-3.2$

原文由 alxp 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题