我正在使用PBSPro并尝试使用qsub命令行提交作业,但似乎无法将输出和错误文件命名为我想要的方式。目前正在使用:
qsub -N ${subjobname_short} \
-o ${path}.o{$PBS_JOBID} -e ${path}.e${PBS_JOBID}
... submission_script.sc
Where $path=fulljobname (i.e. more than 15 characters)
我知道在提交作业之前,$ PBS_JOBID不会被设置...
有什么想法吗?
由于
答案 0 :(得分:1)
如果您希望PBSPro解析$ {PBS_JOBID},则需要在命令行中对其进行转义:
qsub -o \$PBS_JOBID
否则,bash将在到达qsub命令之前尝试解析$ PBS_JOBID。我不知道$ subjobname_short和$ path是否是实际的环境变量或你想要pbs解析的那些,但是如果你想让pbs解决它们你还需要逃避这些变量或将它放在工作中脚本。
注意:我还注意到你的-o参数说{$ PBS_JOBID}并且我非常确定你想要$ {PBS_JOBID}。我不知道这是问题中的拼写错误,还是你试图传递给qsub的内容。
答案 1 :(得分:1)
我提出的解决方案是使用qalter命令跟随qsub命令,如下所示:
jobid=$(qsub -N ${subjobname_short} submission_script.sc)
qalter -o ${path}.o{$jobid} -e ${path}.e${jobid} ${jobid}
这样,PBS Pro不需要解析变量,因为它在我们的安装中没有这样做(这可能是配置问题)