2012-05-15 20 views
0

我正嘗試使用LSF中可用的內存資源分配命令。 命令的正常格式是:錯誤的資源需求語法錯誤

BSUB -R 「rusage [MEM = 1000]」 睡眠100S

當我直接從終端啓動此命令,它的工作原理。 當我從腳本發出這個命令時,它失敗了。

這裏是我的腳本:

#! /bin/csh -f 

set cktsim_memory = $1 
set tmp = "|rusage [mem = $cktsim_memory]|" #method2 
set tmp = `echo $tmp | sed 's/ =/=/g'` #method2 
set tmp = `echo $tmp | sed 's/|/"/g' ` 
set bsub_option = "" 
set bsub_option = ("$bsub_option" "-R" "$tmp") #method2 
set cmd = "bsub $bsub_option sleep 100s" 
echo $cmd 
$cmd 

它的運行輸出是:

>./cktsim_memory_test 100 
bsub -R "rusage [mem= 100]" sleep 100s 
Bad resource requirement syntax. Job not submitted. 
>bsub -R "rusage [mem= 100]" sleep 100s 
Job <99775> is submitted to default queue <medium>. 

正如你可以在從腳本啓動了BSUB命令上文端子輸出看到的,它失敗了,當從終端運行相同的命令是好的...

請幫我調試問題。

回答

0
set cktsim_memory = $1 
set temp = "'rusage [mem = $cktsim_memory]'" #method2 
set temp = `echo $temp | sed 's/ =/=/g'` #method2 
set bsub_option = ("$bsub_option" "-R" "$temp")