Sun Grid Engine: имя выходного файла с использованием значения, хранящегося в переменной

Заранее спасибо за помощь.

Я пытаюсь пройти задание, используя

qsub -q myQ myJob.sh

в myJob.sh у меня есть

# Name of the output log file:
temp=$( date +"%s")
out="myPath"
out=$out$temp
#$ -v out
#$ -o $out
unset temp
unset out

Я хочу, чтобы мой выходной файл имел стандартное имя с отметкой времени unix, добавленной в конец, например myOutputFile123456789.

Когда я запускаю это, мой выходной файл называется буквально «$ out», а не myOutputFile123456789. Можно ли делать то, что я хочу, и если да, то как я могу это сделать?


person HXSP1947    schedule 17.10.2014    source источник


Ответы (1)


Вы не можете программно установить -o или -e внутри скрипта. Что вы можете сделать, так это указать их на /dev/null, а затем перенаправить внутри скрипта. Предполагая, что вы хотите, чтобы отметка времени была временем выполнения задания, а сценарий задания - это сценарий оболочки Bourne (включая сценарии bash, ksh, zsh), тогда должно работать следующее.

#$ -o /dev/null
exec >myPath$(date +"%s")

Однако вы выбросите любой вывод из пролога/эпилога.

person William Hay    schedule 23.10.2014