1

我是 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 脚本?

4

2 回答 2

1

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

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

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

要运行它:

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

Korn shell 在IBM PASE for i/qopensys/usr/bin/sh/qopensys/usr/bin/ksh.

另外我建议不要把东西放在/QIBM目录中。我建议$HOME/opt。有关更多信息,请参阅文件系统层次标准

于 2017-05-22T21:17:35.573 回答
1

您是否使脚本可执行?除非您有 *ALLOBJ 权限,否则您必须通过执行以下任一方式来标记脚本可执行文件

chmod 755 /QIBM/testscript.ksh从贝壳或

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

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

#!/QOpenSys/usr/bin/ksh

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

于 2017-05-22T23:23:41.320 回答