bash – 如何在qsub中指定错误日志文件和输出文件

前端之家收集整理的这篇文章主要介绍了bash – 如何在qsub中指定错误日志文件和输出文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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

第三个选项可能是最简单的。输出错误文件仍可能在运行目录中创建,尽管它们可能为空。

原文链接:https://www.f2er.com/bash/387602.html

猜你在找的Bash相关文章