是“出口”吗?在 .bashrc 中设置变量时需要吗?

发布于 2024-11-14 18:14:45 字数 251 浏览 0 评论 0原文

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

之间没有区别

foo=bar

在我编辑 .bashrc 的测试中,和

export foo=bar

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

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

提前谢谢你们了。

I wonder if there is a need to use "export" when setting a variable in .bashrc.

In my tests editing .bashrc there was no difference between

foo=bar

and

export foo=bar

In both cases, after login "echo $foo" outputs "bar".

I am using Debian Squeeze, if that matters.

Thank you guys in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

压抑⊿情绪 2024-11-21 18:14:45

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

如果 fooexport'ed,它将在 shell 脚本中可见,否则不会。

Try creating a shell script that accesses the foo variable.

If foo was export'ed, it will be visible in the shell script, otherwise it won't.

心清如水 2024-11-21 18:14:45

SuperUser 已涵盖此内容

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

SuperUser has this covered.

Short answer: export makes sure the environment variable is set in child processes. If you don't export, it's only available in the same process/interactive session.

小傻瓜 2024-11-21 18:14:45

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

It's preferable because exported variables get passed to child processes (programs launched from that shell). Without the export command those variables only apply to the shell itself and not processes launched from the shell

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文