我是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脚本?
答案 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
或
CHGAUT OBJ('/QIBM/testscript.ksh') USER(USRNAME) DTAAUT(*RWX)
看起来你可能忘记了第一行中的#,除非它只是一个Stack Overflow格式错误。你的第一行应该是:
#!/QOpenSys/usr/bin/ksh
在IBM i上的/ bin中找不到ksh。