SGE командата не е намерена, недефинирана променлива

Опитвам се да настроя нов изчислителен клъстер и в момента изпитвам грешки при използване на командата qsub в SGE. Ето един прост експеримент, който показва проблема:

test.sh

#!/usr/bin/zsh

test="hello"
echo "${test}"

test.sh.eXX

test=hello: Командата не е намерена.

тест: Недефинирана променлива.

test.sh.oXX

Предупреждение: няма достъп до tty (лош файлов дескриптор).

Следователно няма контрол върху работата в тази обвивка.

Ако изпълних скрипта на главния възел (sh test.sh), изходът е правилен. Изпращам заданието на SGE, като напиша qsub test.sh.

Ако изпратя точно същото задание за скрипт по същия начин на установен изчислителен клъстер като HPC, той работи перфектно, както се очаква. Каква настройка може да причинява този проблем?

Благодаря за всяка помощ по този въпрос.


person sidmontu    schedule 24.06.2013    source източник


Отговори (1)


Най-вероятно опашките на вашия клъстер са настроени на posix_compliant режим с обвивка по подразбиране /bin/csh. Настройката posix_compliant означава вашия #! ред се игнорира. Можете или да промените опашките на unix_behavior, или да посочите необходимата обвивка, като използвате опцията -S на qsub.

#$ -S /bin/sh
person William Hay    schedule 16.10.2013
comment
Ах, да, прочетох страницата на човека и опитах това сработи. Благодаря за обяснението защо! - person sidmontu; 12.11.2013