加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – “export”在shell编程中做什么?

发布时间:2020-12-15 16:38:51 所属栏目:安全 来源:网络整理
导读:根据我可以告诉,变量赋值是相同的,无论是或没有前面的“导出”。这是为了什么? 导出的变量(例如$ HOME和$ PATH)可用于其他程序。 其他程序不能使用常规(非导出)变量。 $ env | grep '^variable='$ # No environment variable called variable$ variable=H
根据我可以告诉,变量赋值是相同的,无论是或没有前面的“导出”。这是为了什么?
导出的变量(例如$ HOME和$ PATH)可用于其他程序。
其他程序不能使用常规(非导出)变量。
$ env | grep '^variable='
$                                 # No environment variable called variable
$ variable=Hello                  # Create local (non-exported) variable with value
$ env | grep '^variable='
$                                 # Still no environment variable called variable
$ export variable                 # Mark variable for export to child processes
$ env | grep '^variable='
variable=Hello
$
$ export other_variable=Goodbye   # create and initialize exported variable
$ env | grep '^other_variable='
other_variable=Goodbye
$

有关更多信息,请参阅GNU Bash手册中的export builtin条目。

请注意,非导出的变量将可用于通过(…)运行的子shell和类似的符号:

$ othervar=present
$ (echo $othervar; echo $variable; variable=elephant; echo $variable)
present
Goodbye
elephant
$ echo $variable
Goodbye
$

当然,subshel??l不能影响父shell中的变量。

关于subshel??l的一些信息可以在Bash手册中的command grouping和command execution environment下找到。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读