获取 SGE jobid 制作管道

Get SGE jobid to make a pipeline

假设我想编写一个任务管道以提交给 Sun/Oracle Grid Engine。

qsub -cwd touch a.txt
qsub -cwd -hold_jid touch wc -l a.txt

现在,这将 运行 仅在第一项工作 (touch) 完成后才进行第二项工作 (wc)。但是,如果名为 touch 的前一个作业早于 运行,则第二个作业将不会被保留,因为条件已经满足。我需要第一份工作的jobid。

我试过了

myjid=`qsub -cwd touch a.txt`

但是它给了$ echo $myjid Your job 1062487 ("touch") has been submitted

您只需要将 -terse 选项添加到第一个 qsub 以便它只显示 jobid 而不是整个字符串。

JID=`qsub -terse -cwd touch a.txt`