在我运行的ubuntu服务器中,我在/etc/bash.bashrc中添加了自定义项,在/etc/profile.d中添加了.sh文件,为我的用户添加了一些有用的别名和功能.所有这些都为我的帐户正确运行.
但是,登录到其他帐户(包括与我的帐户相同的帐户),无论是通过su还是ssh,都不会加载这些自定义.手动跑. / etc / profile可以解决问题,但是这应该在启动时在交互式登录shell中自动发生.从所有帐户运行echo $0返回-bash,所以我认为它们实际上是在这样的shell中.
为什么会发生这种情况,我该如何解决?
解决方法:
我遇到了同样的问题.我在检查/ etc / profile文件时找到了我的解决方案
...
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
所以它只检查.sh文件(Ubuntu 18).我已将/etc/profile.d/conda重命名为/etc/profile.d/conda.sh,现在它按预期工作!