通常,错误和输出文件以qsub脚本中的pbs指令或qsub脚本的命令行选项的形式给出,如下所示:
#! /bin/bash
#PBS -q queue_name
#PBS -A account_name
#PBS -l nodes=12:ppn=12
#PBS -l walltime=18:00:00
#PBS -e /mypath/error.txt
#PBS -o /mypath/output.txt
或者作为qsub的命令行选项,就像这样:
qsub -o /mypath/output.txt -e /mypath/error.txt submit_job.sh
使用第一个选项,我不认为你可以使用一个变量,因为shell不会看到被注释的行。另外我认为PBS会在shell之前处理注释行。如果您在调用qsub时知道路径,可以尝试第二个选项。
或者,您可以尝试简单地重定向脚本本身的输出和错误:
/home/user1/run.sh $SEED > ${SEED}/output.txt 2> ${SEED}/error.txt
第三个选项可能是最简单的。输出和错误文件仍可能在运行目录中创建,尽管它们可能为空。