2013-07-18 34 views
0

我正在提交一組採用一系列參數值的qsub作業。我運行以下循環提交這些多個作業。我通過-v將特定參數值傳遞給qsub。我想作業名也成爲這些參數的函數:qsub將參數傳遞給-N(名稱)選項

#!/bin/bash  
for a in 1 2 
do 
    for b in 1 2 
    do 
    echo "a is $a, b is $b" 
     qsub -v a=$a,b=$b -N run_$a_$b run_file.sh 
    done 
done 

凡run_file.sh包含#PBS命令來運行程序。 當我向我看到下面的輸出,顯示了循環中的服務器工作正常:

a is 1, b is 2 

但作業名稱出現只與最後一個參數

run_$b (i.e. run_2 for $b=2) 

而不是作爲

run_$a_$b 

如何獲取作業名稱以包含兩個參數?我試過縮短文件名以確認它不是長度問題。我希望名稱能夠同時顯示兩個參數,以跟蹤哪些文件仍在運行,而無需檢查輸出文件。謝謝你的幫助。

回答

0

不能真正運行此腳本,但嘗試: 的qsub -va = $ A,B = $ B -N運行_ $ {A} _ $ {B} run_file.sh

希望這是你正在尋找

+0

是的,這是有效的 - 兩個參數現在出現了(所以大括號,但沒關係)。謝謝! – user1486856

0

在run_ $ a_ $ b bash考慮$ a_作爲一個變量,顯然你沒有a_defined 這樣的事情應該工作? run _ $ {a} _ $ b