关于ubuntu 11.04生成的.profile的问题

发布于 2024-12-06 16:45:58 字数 538 浏览 0 评论 0原文

我注意到安装 Ubuntu 11.04 时生成的 ~/.profile 底部有以下几行:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

我看到了那里的逻辑,但不应该导出 PATH 变量吗?

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    export PATH="$HOME/bin:$PATH"
fi

如果不是,那么我不明白一旦到达 .profile 文件的底部, PATH 的值如何不会丢失,除非有东西使用 获取该文件。 ~/.profile,我没有看到(至少明确地)在系统上的任何其他 shell 脚本中发生这种情况。

I noticed the following lines at the bottom of my ~/.profile that was generated from when I installed Ubuntu 11.04:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

I see the logic there, but shouldn't the PATH variable be exported?

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    export PATH="$HOME/bin:$PATH"
fi

If not, then I don't understand how the value of PATH does not get lost once the bottom of the .profile file is reached, unless something is sourcing this file with . ~/.profile, which I do not see (at least explicitly) happening in any other shell script on the system.

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

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

发布评论

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

评论(1

我早已燃尽 2024-12-13 16:45:58

如果变量已导出,则无需再次导出。是的,当您启动登录 shell 时,shell 会(道德上相当于)source .profile(除非您也有 .bash_profile;但是通常应该使用 source依次 .profile)。

If a variable is already exported, you don't have to export it again. And yes, the shell does (the moral equivalent of) source .profile when you start a login shell (unless you also have a .bash_profile; but then that should customarily source .profile in turn).

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