如何创建AS400 shell脚本(.ksh)文件

时间:2017-05-22 20:11:26

标签: shell ibm-midrange iseries-navigator

我是iSeries上的shell脚本新手,但我创建了一个示例脚本:

#!/bin/ksh

cd /QIBM/Userdata/employeedetails/

pwd

ls -ltr

我将其放在/QIBM/testscript.ksh下并尝试使用STRQSH CMD('/QIBM/testscript.ksh')

在主菜单上运行脚本

我收到了这个错误,有人可以告诉我这里做错了什么吗?

qsh: 001-0014 Command /QIBM/testscript.ksh not found. 

Press ENTER to end terminal session.             

我想知道,是否可以在iSeries(AS / 400)上创建shell脚本?

2 个答案:

答案 0 :(得分:1)

当然可以创建一个shell脚本。

默认shell为Qshell,可以引用为/bin/qsh/bin/sh

echo '#!/bin/sh
pwd
ls -ltr' > $HOME/testscript.sh

运行它:

STRQSH CMD('$HOME/testscript.sh')

Korn shell在/qopensys/usr/bin/sh/qopensys/usr/bin/ksh IBM PASE for i处可用。

另外,我建议不要将内容放在/QIBM目录中。我建议$HOME/opt。有关详细信息,请参阅Filesystem Hierarchy Standard

答案 1 :(得分:1)

您是否使脚本可执行?除非您具有* ALLOBJ权限,否则必须通过执行

标记脚本可执行文件 来自shell的

chmod 755 /QIBM/testscript.ksh

来自CL的

CHGAUT OBJ('/QIBM/testscript.ksh') USER(USRNAME) DTAAUT(*RWX)

看起来你可能忘记了第一行中的#,除非它只是一个Stack Overflow格式错误。你的第一行应该是:

#!/QOpenSys/usr/bin/ksh

在IBM i上的/ bin中找不到ksh。