AIX - 如何將使用者 shell 改為 bash?

AIX - 如何將使用者 shell 改為 bash?

bash我想知道如何在登入 AIX 伺服器時自動運行。如何才能做到這一點,而無需bash每次登入 AIX 伺服器時都進行鍵入?

答案1

您通常會運行chsh(例如,參見更改 IBM AIX 上的 Shell)。但是,如果bash這些文件中未列出,則您可能會中斷登入:

  • /etc/shell
  • /etc/security/login.defs

作為解決方法,您可以直接執行 shell 的登入初始化腳本bashcsh例如,如果您的 shell 是透過修改.login.

如果您的登入 shell 是ksh,那就有點困難:AIX 的 ksh 使用.profile(其他 shell 使用),並且不設定特殊變數。像這樣的東西可能對你有用,在.profile

[ $SHLVL = 1 ] && exec bash

ksh 和 bash 都設定這個變數;它應該是1您剛登入時的值,並在您轉移到 bash 時遞增。

當嘗試這樣的事情時,它是重要的有一個可用的外殼遠端計算機,並使用不同的連接測試登錄,以防您的編輯出現問題。

答案2

湯瑪斯讓我想起了這一點。我使用多個 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)。

教育。

相關內容