我有一个qsub脚本
#####----submit_job.sh---##### #!/bin/sh #$ -N job1 #$ -t 1-100 #$ -cwd SEEDFILE=/home/user1/data1 SEED=$(sed -n -e "$SGE_TASK_ID p" $SEEDFILE) /home/user1/run.sh $SEED
问题是 – 它将所有错误和输出文件(job1.eJOBID& job1.oJOBID)放在与我正在运行qsub submit_job.sh的同一目录中,同时我要保存这些文件(输出和错误日志文件在同一个不同的地方(指定为$ SEED_output)。
我试图换行
/home/user1/run.sh $SEED -o $SEED_output
通常,错误和输出文件以qsub脚本中的pbs指令或qsub脚本的命令行选项的形式给出,如下所示:
原文链接:https://www.f2er.com/bash/387602.html#! /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