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