linux – / etc / profile不是为用户提供的

在我运行的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,现在它按预期工作!

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...