我是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.
我想知道,是否可以在i系列(AS/400(上创建外壳脚本?
当然可以创建一个 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
. 有关详细信息,请参阅文件系统层次结构标准。
你是否使脚本可执行?除非您具有 *ALLOBJ 权限,否则必须通过执行
chmod 755 /QIBM/testscript.ksh
从外壳或
来自CL的CHGAUT OBJ('/QIBM/testscript.ksh') USER(USRNAME) DTAAUT(*RWX)
看起来您可能忘记了第一行中的#,除非它只是堆栈溢出格式错误。您的第一行应该是:
#!/QOpenSys/usr/bin/ksh
因为在 IBM i 上的/bin 中找不到 ksh。