我将这些添加到/etc/profile
(Ubuntu 15.10)。
PATH=$PATH:/my/bin
date > /tmp/etc_profile_date
当我图形登录时,/my/bin
不在PATH
并且/tmp/etc_profile_date
尚未创建。
当我仅使用终端登录时,两者都不存在。
当我的时候su - myusername
,两者都不存在。
当我的时候ssh myusername@localhost
,两者都不存在。
如果我source /etc/profile
手动,文件和PATH
将如预期。
为什么以上情况都没有源码/etc/profile
?这似乎与我在其他地方读到的内容相矛盾。它在 CentOS 上也能按预期工作。
答案1
问题是我在 /etc/passwd 中的登录 shell 是 zsh,但有一个已知的错误,其中 zsh 不来源 /etc/profile。看起来他们不会修复这个问题,因为他们必须破坏 zsh 中的其他功能。