![AIX - 如何將使用者 shell 改為 bash?](https://rvso.com/image/1451211/AIX%20-%20%E5%A6%82%E4%BD%95%E5%B0%87%E4%BD%BF%E7%94%A8%E8%80%85%20shell%20%E6%94%B9%E7%82%BA%20bash%EF%BC%9F.png)
bash
我想知道如何在登入 AIX 伺服器時自動運行。如何才能做到這一點,而無需bash
每次登入 AIX 伺服器時都進行鍵入?
答案1
您通常會運行chsh
(例如,參見更改 IBM AIX 上的 Shell)。但是,如果bash
這些文件中未列出,則您可能會中斷登入:
- /etc/shell和
- /etc/security/login.defs
作為解決方法,您可以直接執行 shell 的登入初始化腳本bash
。csh
例如,如果您的 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)。
教育。