2012-10-18 13 views
7

Chciałbym przekazać zmienne do skryptu csh za pomocą polecenia "qsub -v". Rozumiem możemy notować par parametry-wartość jak poniżej,Jak używać polecenia qsub -v w momencie obrotowym PBS?

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

Czy ktoś wie, czy wartości tych parametrów może być ciągiem listę numerów liczbowych oddzielonych przecinkami znaku lub nazwy pliku? na przykład, czy poniższe polecenie jest możliwe?

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

Dziękuję bardzo,

Odpowiedz

11

Oni po prostu muszą być oddzielone przecinkami:

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

Na swoim przykładzie, że byłoby:

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

Wystarczy pamiętać, że nie przeniesie to pliku cassieFile.txt do węzła, który uruchomi zadanie, więc plik cassieFile.txt musi być ścieżką do lokalizacji na sh ared system plików.

+2

Jeśli się nie mylę, @dbeer jest osobą, która (w zasadzie) napisała kod, który analizuje tę opcję z momentem obrotowym> = wersja 4. –

+1

To prawda. – dbeer

+0

WOW ~ Cool ~ Wielkie dzięki. Wszystko działało dobrze z jednym małym problemem. Kiedy ustawiam par3 jako "100,200,300", myScript.csh może uzyskać tylko pierwszą wartość 100. Domyślam się, że jest to separator. Czy jest jakiś sposób, aby upewnić się, że zmienna par3 otrzyma resztę ciągu znaków? (Łańcuch będzie używany jako ustawienie wejściowe dla niektórych modeli działających zdalnie, więc separatory przecinków wśród tych 3 wartości nie mogą być zmienione Nie mam kontroli nad formatem ciągu znaków). Dziękuję bardzo, – Cassie

Powiązane problemy