我有一个为 Tivoli Workload Scheduler 提供的启动/停止脚本,它将在其中启动/stp[IBM i 中的 TWS 服务。
# CHECK ROOT USER
WHO=`id | cut -f1 -d" "`
if [ "$WHO" = "uid=0(root)" ]
then
su TWSSVC -c "/etc/rc.d/init.d/tebctl-tws_cpa_agent_TWSSVC stop"
exit $?
fi
/etc/rc.d/init.d/tebctl-tws_cpa_agent_TWSSVC stop
exit $?
问题在于,在 OS/400 中,root 的等效项是 QSECOFR,所以我修改了该行
if [ "$WHO" = "uid=0(root)" ]
至
if [ "$WHO" = "uid=0(QSECOFR)" ]
然后我在以下行出现错误:
su TWSSVC -c "/etc/rc.d/init.d/tebctl-tws_cpa_agent_TWSSVC stop"
/TWSSVC/TWS/ShutDownLwa: 001-0019 Error found searching for command su. No such path or directory.
如何更改为脚本,以便当它是 QSECOFR 时,它将进入 TWSSVC 并触发启动/停止脚本?我对OS400不是很熟悉。我在 qsh 环境中触发了这个脚本。