Bash 为单个用户设置默认PASE IBM i shell
默认情况下,该环境提供并使用korn shell。该变量可用于更改默认值,但适用于所有用户。如何在使用SSH登录时更改用户的默认shell?将一个Bash 为单个用户设置默认PASE IBM i shell,bash,shell,ibm-midrange,Bash,Shell,Ibm Midrange,默认情况下,该环境提供并使用korn shell。该变量可用于更改默认值,但适用于所有用户。如何在使用SSH登录时更改用户的默认shell?将一个.profile文件添加到其主目录(即/home/alaron/.profile),其中包含以下内容: # detect if we're in a PASE shell /QSYS.LIB/QSHELL.LIB/UNAME.PGM > /dev/null 2>&1 if [ $? != 0 -a "$SHELL" != "/QO
.profile
文件添加到其主目录(即/home/alaron/.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\u profile
、.bash\u login
和.profile
。现在,最好的方法是使用QSYS2.SET\u PASE\u shell\u 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');
关于这个话题的更详细的评论是。你想建立自己的代表还是什么?:)这让我转了很长一段时间,所以我认为其他人可以从中受益。话虽如此,是的,我希望我的名声能有所裨益——我喜欢它的精英管理性质可能与版本有关,但值得一提的是,我的系统上没有bash,但在同一位置有旧的Bourne shell bsh。@EvansWinner没错。PASE随Korn、Bourne和C Shell一起提供。从某种真正的意义上讲,bash可能不应该在PASE下使用,因为PASE不是Linux环境,尽管可能需要bash是可以理解的。伯恩壳牌应该是一个合理的替代品。虽然并不完美,但这正是bash最初想要替代的。另外,bash应该可以从中获得PASE。@EvansWinner您可以通过安装PowerRuby.com上的免费PowerRuby下载来获得bash。在Mac上的ssh终端会话中使用bash是在QP2TERM中使用korn的新鲜空气。