2009-09-17 93 views
1

所以我有.csh腳本generate.csh 我想從其中調用另一個.csh腳本。 我試圖如何使用.csh腳本的命令行參數執行.csh腳本

./shell_gen.csh test1的test2.prt

但它運行shell_gen.csh但沒有命令行參數。

有人嗎?

感謝

generate.csh

#!/bin/csh 
./shell_gen.csh test1 test2.prt 

shell_gen.csh

#!/bin/csh 
set source = output 
############################################################ 
# create pbm-gifs/ directory 
############################################################ 
set destination1 = /scratch/graphics/$1gif 
echo making $destination1 

if (! -e $destination1) then 
    mkdir $destination1 
    foreach file ($source/*.pgm) 
    echo convert $file $destination1/$file:t:r.gif 
    convert $file $destination1/$file:t:r.gif 
end 
else 
echo "$destination1/ exists" 
endif 
+0

可以粘貼腳本? – 2009-09-17 20:31:53

+0

因此'shell_gen.csh'迴應「making/scratch/graphics/gif」(即「/」和「gif」之間沒有任何內容)?你的腳本適合我(它迴應「making/scratch/graphics/test1gif」)。 – 2009-09-18 00:59:38

回答

2

我會說你可能需要把周圍的位置參數變量的大括號的時候都對一些級聯其他字符:

set destination1 = /scratch/graphics/${1}gif 

但你可能要在那裏一個點,太:

set destination1 = "/scratch/graphics/${1}.gif" 

和報價防範空間。

+0

該部分工作.... 當我從命令行運行的腳本./shell_gen.csh測試test1.prt 它工作正常......當它從上面的腳本調用不起作用 – grobartn 2009-09-17 21:13:17

1

$ 1gif不是對位置參數的引用。

你試過Dennis建議的$ {1} gif嗎?我認爲這應該工作。

另外,雖然您的生成清楚地發送第二個參數,但我看不到任何地方引用$ 2。

最後的第一行也許應該是#!/ bin中/ CSH -f

最佳,
-pbr