PASE 环境默认使用 Korn shell。 可以使用 ibmpaseforishell 变量更改默认值,但这会影响所有用户。 当用户使用 SSH 登录时,如何更改默认的 shell?
PASE 环境默认使用 Korn shell。 可以使用 ibmpaseforishell 变量更改默认值,但这会影响所有用户。 当用户使用 SSH 登录时,如何更改默认的 shell?
现在,最好的方法是使用QSYS2.SET_PASE_SHELL_INFO()
SQL过程。
-- set current user's shell
CALL QSYS2.SET_PASE_SHELL_INFO('*CURRENT', '/QOpenSys/pkgs/bin/bash');
-- set a specific user's shell
-- (requires *SECADM special auth plus *USE and *OBJMGT to the user profile)
CALL QSYS2.SET_PASE_SHELL_INFO('THATUSER', '/QOpenSys/pkgs/bin/bash');
-- set the default shell which is returned for users that do not have
-- (requires *SECADM special auth plus *USE and *OBJMGT to QSYS)
CALL QSYS2.SET_PASE_SHELL_INFO('*DEFAULT', '/QOpenSys/pkgs/bin/bash');
这个主题的更详细介绍在这里。
在他们的主目录下(即/home/aaron/),添加一个名为.profile
的文件,并将以下内容写入其中:
# detect if we're in a PASE shell
/QSYS.LIB/QSHELL.LIB/UNAME.PGM > /dev/null 2>&1
if [ $? != 0 -a "$SHELL" != "/QOpenSys/usr/bin/bash" ]
then
exec /QOpenSys/usr/bin/bash
fi
请注意,.profile
文件是 korn shell 寻找的文件。如果你的默认 shell 是 bash,则它会按照以下顺序查找 .bash_profile
、.bash_login
和 .profile
。