Как использовать команду qsub -v в крутящем моменте PBS?

Я хотел бы передать переменные в сценарий csh с помощью команды «qsub -v». Я понимаю, что мы можем перечислить пары параметров-значений, как показано ниже,

qsub -v par1=value1 par2=value2 myScript.csh

Кто-нибудь знает, могут ли значения этих параметров быть строкой, списком числовых чисел, разделенных запятой, или именем файла? например, возможна ли команда ниже?

qsub -v par1='Cassie_score' par2=cassieFile.txt par3='100,200,300,' myScript.csh

Спасибо большое,


person Cassie    schedule 18.10.2012    source источник


Ответы (1)


Они просто должны быть разделены запятыми:

qsub -v var1="val1",var2=1,var3=val3 script.csh

Для вашего примера это будет:

qsub -v par1='Cassie_score',par2=cassieFile.txt,par3='100,200,300,' myScript.csh

Просто обратите внимание, что это не приведет к перемещению cassieFile.txt на узел, который будет запускать задание, поэтому cassieFile.txt должен быть путем к местоположению в общей файловой системе.

person dbeer    schedule 18.10.2012
comment
Если я не ошибаюсь, @dbeer — это человек, который (по сути) написал код, разбирающий эту опцию в Torque ›= версии 4. - person Jon Bringhurst; 19.10.2012
comment
ВАУ~ Круто~ Большое спасибо. Он работал нормально с одной маленькой проблемой. Когда я устанавливаю par3 как «100 200 300», myScript.csh может получить только первое значение 100. Я предполагаю, что это разделитель. Есть ли способ убедиться, что переменная par3 получает остальную часть строки? (Строка будет использоваться в качестве входных данных для некоторых моделей, работающих удаленно, поэтому разделители запятых между этими тремя значениями не могут быть изменены. Я не могу контролировать формат строки.) Большое спасибо, - person Cassie; 25.10.2012
comment
В конце концов я использовал разделитель пробелов, чтобы разделить числа в строке и снова добавить запятую. - person Cassie; 30.10.2012
comment
@Cassie: если вы не укажете значение, оно будет скопировано из среды. Вы можете использовать это, чтобы получить значение через запятую: setenv par3 100,200,300; qsub -v par1='Cassie_score',par2=cassieFile.txt,par3 myScript.csh. - person amaurea; 21.03.2016