Ответ 1
Обычно файлы ошибок и вывода задаются как директивы pbs в qsub script или как параметры командной строки для qsub script следующим образом:
#! /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
С первым вариантом я не думаю, что вы можете использовать переменную, поскольку оболочка не будет рассматривать строки, которые прокомментированы. Плюс я думаю, что PBS имеет дело с прокомментированными строками перед оболочкой. Если вы знаете путь, когда вы вызываете qsub, вы можете попробовать второй вариант. В качестве альтернативы вы можете попробовать просто перенаправить вывод и ошибку в сам script:
/home/user1/run.sh $SEED > ${SEED}/output.txt 2> ${SEED}/error.txt
Третий вариант, вероятно, самый простой. Файлы вывода и ошибки все равно могут быть созданы в каталоге запуска, хотя они, вероятно, будут пустыми.