AIX - 如何将用户 shell 更改为 bash?

AIX - 如何将用户 shell 更改为 bash?

bash我想知道如何在登录 AIX 服务器时自动运行。如何才能做到这一点而不必bash每次登录 AIX 服务器时都输入内容?

答案1

你通常会运行chsh(例如参见在 IBM AIX 上更改 Shell)。但是,如果bash这些文件中没有列出,则可能会破坏您的登录:

  • /etc/shells
  • /etc/security/login.defs

解决方法是,您可以直接运行 shell 的登录初始化脚本。如果您的 shell 是,则bash可以通过修改 来实现。csh.login

如果您的登录 shell 是ksh,那么这会稍微困难一些:AIX 的 ksh 使用.profile(其他 shell 也使用),并且不设置特殊变量。以下方法可能对您有用,在 中.profile

[ $SHLVL = 1 ] && exec bash

ksh 和 bash 都设置了这个变量;它应该1在您刚登录时存在,并在您转移到 bash 时增加。

在试验这样的事情时,重要的有一个可行的外壳远程机器,并使用不同的连接测试登录,以防您的编辑出现问题。

答案2

Thomas 提醒了我这一点。我使用了几台 AIX 服务器,但并非所有服务器都配有 bash。不过我更喜欢 bash。我把它放在了我的 .profile 中。

case $- in
  *i*)
    # Interactive session. Try switching to bash.
    if [ -z "$BASH" ]; then # do nothing if running under bash already
      bash=$(command -v bash)
      if [ -x "$bash" ]; then
        export SHELL="$bash"
        exec "$bash"
      fi
    fi
esac

答案3

否则,请在 root 权限下使用“smitty user”实用程序。
转到“更改用户特征”
输入用户名并验证“初始程序”字段上的值。
在此,您可以根据需要进行更改(/usr/bin/xxxx)。

教育。

相关内容