2012-10-18 25 views
7

Vorrei passare le variabili a uno script csh utilizzando il comando "qsub -v". Capisco che possiamo elencare le coppie di parametri di valore come sotto,Come utilizzare il comando qsub -v nella coppia PBS?

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

Qualcuno sa se i valori di questi parametri possono essere una stringa, un elenco di numeri numerici separati da virgola o segno un nome di file? ad esempio, è possibile il comando seguente?

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

La ringrazio molto,

risposta

11

hanno solo bisogno di essere separati da virgole:

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

Per esempio, che sarebbe:

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

Basta notare che questo non sposterebbe cassieFile.txt sul nodo che eseguirà il lavoro, quindi cassieFile.txt dovrebbe essere un percorso verso una posizione su un file system.

+2

Se non sbaglio, @dbeer è la persona che (in pratica) ha scritto il codice che analizza questa opzione in coppia> = versione 4. –

+1

Ciò è corretto. – dbeer

+0

WOW ~ Fresco ~ Grazie mille. Ha funzionato bene con un piccolo problema. Quando imposto il par3 come "100,200,300", myScript.csh può solo ottenere il primo valore 100. Suppongo che questo sia il separatore. C'è un modo per assicurarsi che la variabile par3 ottenga il resto della stringa? (La stringa verrà utilizzata come impostazione di input per alcuni modelli in esecuzione in remoto, quindi i separatori di virgole tra questi 3 valori non possono essere modificati. Non ho alcun controllo sul formato della stringa.) Grazie mille, – Cassie