在 RHEL 上登录时将 shell 切换到 bash

在 RHEL 上登录时将 shell 切换到 bash

语境:

我们正在运行一个系统,该系统的 Linux 和 Unix 盒子需要针对 AD 进行身份验证,并且因为我们有许多不同版本的 Unix/Linux,所以我们必须默认为 /bin/sh 以确保无论服务器如何登录始终有效。我希望在 RHEL 上设置一个 .profile 以检查登录时设置的 shell,如果不是 bash,则切换到 bash。我没有任何运气谷歌搜索方法来做到这一点,我的 shell 脚本处于较弱的一面。

问题:

在没有 passwd 文件控制的情况下,如何在登录时检查 shell 和开关?

答案1

未经测试。编辑你的 ~/.profile ...

if [ -x /bin/bash ]; then
  exec bash
fi

答案2

你的意思是类似的吗which bash >/dev/null && exec bash?或者 的输出getent passwd对你有用吗?

相关内容