我想将多个作业发送到远程计算机。因此,我编写了一个for循环,它迭代i
个由多个子命令组成的作业。我需要暂停后续迭代,直到执行某个子命令并且作业实际在远程计算机上运行。
因此,我们的想法是检查字符串"PEND"
是否出现在远程计算机上的命令输出中。我想在"PEND"
更改为"RUN"
时继续使用for循环。我不知道if语句是否适合在这里使用。使用sleep
的固定等待时间不会起作用,因为从PEND到RUN的状态变化非常不规律。
附加信息:子命令包括可执行文件的编译。
错误的伪代码:
for i in {1..10}
do
subcommands
...
if [[ jobs | grep "PEND" == TRUE ]]; then sleep 1
fi
done