“出口”公告的具体作用是什么?

“出口”公告的具体作用是什么?

根据 BASH 参考手册:

export

export [-fn] [-p] [name[=value]]

    Mark each name to be passed to child processes in the environment.

我曾经遇到过一个例子:

PS1=<\u\h \W>\$

export PS1

我从文档和示例中了解到,export 用于将环境变化渗透到多个 shell 中?我感到困惑的是,我多次没有看到它在类似情况下使用,但一切仍然按预期工作。

例如,我创建了一个环境变量来跟踪配置文件的加载顺序。以下是我的 .bashrc 文件中的示例:

PROFILE_ORDER="$PROFILE_ORDER:~/.bashrc"

并产生这种行为

$ echo $PROFILE_ORDER
/etc/bash.bashrc:~/.bashrc

如果我的理解出口是正确的,那么为什么我在创建和修改 $PROFILE_ORDER 时不需要使用它?

答案1

export 用于设置可从当前 shell 执行的 shell 访问的变量。

> x=1
> export y=2
> echo $x $y
1 2
> bash
> echo $x $y
2

.bashrc每次打开新 shell 时都会执行,所以如果我y=2在那里设置,它就会在每个新 shell 中都知道,而无需使用export

相关内容