这样的事情应该做你想要的
START=1
END=10000
STEP=1000
SLEEP=700 #Just over 11 Minutes (in seconds)
for i in $(seq $START $STEP $END) ; do
JSTART=$i
JEND=$[ $JSTART + $STEP - 1 ]
echo "Submitting with ${JSTART} and ${JEND}"
sbatch --array=${JSTART}-${JEND} -p <server-name> --time=12:00:00 <my-bash-script>
sleep $SLEEP
done
谢谢tomgalpin-看起来像这样。我将其另存为Job_loop.sh并将shebang添加
#!/bin/bash
到第一行。抱歉,速度很慢,但是当我运行此命令时,sh Job_loop.sh
出现错误:Job_loop.sh: line 8: JSTART: command not found Job_loop.sh: line 9: JEND: command not found
。提前致谢!抱歉,我已更新
非常感谢你!以防万一其他人尝试此操作-您只需将序列的顺序切换为,
$START $STEP $END
并且可以从中减去1,JEND
这样序列就不会重叠。没问题,对于seq命令的订单问题,我们已更新。乐意效劳