Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 为单个用户设置默认PASE IBM i shell_Bash_Shell_Ibm Midrange - Fatal编程技术网

Bash 为单个用户设置默认PASE IBM i 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

默认情况下,该环境提供并使用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" != "/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的新鲜空气。