我有一个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脚本的命令行选项的形式给出,如下所示:
- #! /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