当我启动 bash 终端时 .profile 没有运行

当我启动 bash 终端时 .profile 没有运行

当我启动 bash 终端时,我的 .profile 没有被执行。我没有 ~/.bash_profile 或 ~/.bash_login,所以 .profile 应该运行,对吗?还有什么问题?

答案1

这不是一个登录 shell。

如果 shell 是登录 shell,它将查找 .bash_profile(如果存在),然后查找 .profile。其他 shell 查找 .bashrc

因此,您可以将所需的内容放入 .bashrc 中的每个 shell 实例中,并且可能在 .profile 中有一个指向 .bashrc 的引用。

因此: .bashrc:

stuff you want

.profile 结束:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc

答案2

尝试使用~/.bashrc

答案3

如果您使用的是图形桌面,则 .profile 应该由您的桌面管理器提供。Lightdm现在至少在 Ubuntu 上可以获取源 .profile。请参阅:https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315

使用 kdm 和 Kubuntu-12.04,文件 /etc/kde4/kdm/Xsession 被获取,从而包含 .profile。Kubuntu-12.10 可能会使用 lightdm。Ubuntu 12.04 使用 lightdm,因此 /usr/sbin/lightdm-session 获取 .profile。

我认为要采取的方法是(1)在 ~/.profile 中设置/导出环境设置,以及(2)让 .bash_profile 获取 .profile:

[[ -f ~/.profile ]] && . ~/.profile

(并且没有由 .profile 或 .bash_profile 提供的 .bashrc)。

也可以看看:

相关内容