我想让脚本在群集节点上执行以将其设置为其他脚本,并且为了避免脚本并发问题,请使用群集将它们同步。问题在于该脚本在正常的bash中就像一个超级按钮一样工作,而在SGE下由于语法错误而失败。
脚本
#!/bin/bash
LF=/var/lock/sgenodesetup
busy(){
echo scrip already running - lockfile: $LF
sleep 60
exit
}
(
flock -xn 99 || busy
echo setup command 1
echo setup command 2
) 99>$LF
错误消息
/var/spool/gridengine/execd/sge1/job_scripts/28: 15: /var/spool/gridengine/execd/sge1/job_scripts/28: Syntax error: word unexpected
我已经尝试使用-S标志对qsub进行操作,以确保使用bash shell执行作业,但是在命令行上运行时错误仍然存在,从而回显了预期的行。
gridengine-master版本6.2u5-7.4