当我启动 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)。
也可以看看:
- 在 .profile 中设置 BROWSER 环境变量:http://fvue.nl/wiki/Linux:_Default_browser