BASH:在.bashrc中设置变量时是否需要“导出”?

时间:2011-06-09 18:08:45

标签: bash variables export

我想知道在.bashrc中设置变量时是否需要使用“export”。

在编辑.bashrc的测试中,

之间没有区别
foo=bar

export foo=bar

在这两种情况下,登录后“echo $ foo”输出“bar”。

我正在使用Debian Squeeze,如果重要的话。

提前谢谢你们。

3 个答案:

答案 0 :(得分:11)

尝试创建一个访问foo变量的shell脚本。

如果fooexport,则会在shell脚本中显示,否则不会显示。

答案 1 :(得分:10)

超级用户has this covered

简短回答:export确保在子进程中设置环境变量。如果您不导出,则它仅在相同的进程/交互式会话中可用。

答案 2 :(得分:5)

这是首选,因为导出的变量会传递给子进程(从该shell启动的程序)。如果没有export命令,那些变量只适用于shell本身,而不适用于从shell启动的进程