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)。
教育。