为单个用户设置默认PASE IBM i shell

时间:2014-05-28 14:07:39

标签: bash shell ibm-midrange

PASE环境默认发布并使用korn shell。 ibmpaseforishell变量可用于更改默认值,但适用于所有用户。在使用SSH登录后,如何更改用户的默认shell?

2 个答案:

答案 0 :(得分:1)

.profile文件添加到其主目录(即.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是bash,那么它将按顺序查找.bash_profile.bash_login.profile

答案 1 :(得分:0)

如今,最好的方法是使用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');

有关此主题的更详细的文章是here