2009-01-28 192 views
1

我寫了一個程序,它爲2個變量生成參數索引。說,a和b的步驟5.這樣我必須做23個變量。所以我不想編寫23個for循環來運行,我怎樣才能把它變成一個單一的for循環,這對所有23個變量都是通用的。我希望可以用數組完成,但我不知道如何通過程序來實現它。 你能幫我嗎?linux/shell腳本

計劃:

int z, p 
float a, b 
float a0, an, s, a1, b0, bn, b1 
str var 
s=5; a0=1; an=10; b0=8; bn=13  // s= steps, a0, b0= initial value, an,bn=final value 
z=0 

a1=(an-a0)/s 
b1=(bn-b0)/s 

for (a=(a1+a0);a<=an;a=a+a1) 
for (b=(b1+b0);b<=bn;b=b+b1) 
echo {z} {a} {b} -format "%25s" >> /home/genesis/genesis-2.3/genesis/Scripts/kinetikit/dhanu19.txt 
z=z+1 
end 
end 

output : dhanu19.txt 
         0      2.8      9 
         1      2.8      10 
         2      2.8      11 
         3      2.8      12 
         4      2.8      13 
         5      4.6      9 
         6      4.6      10 
         7      4.6      11 
         8      4.6      12 
         9      4.6      13 
         10      6.4      9 
         11      6.4      10 
         12      6.4      11 
         13      6.4      12 
         14      6.4      13 
         15      8.2      9 
         16      8.2      10 
         17      8.2      11 
         18      8.2      12 
         19      8.2      13 
         20      10      9 
         21      10      10 
         22      10      11 
         23      10      12 
         24      10      13 
+0

聽起來像作業 – 2009-01-28 10:06:51

回答

0

殼牌哪些你指的是?聲明數組在zsh,bash之間有一些語法上的區別...

3

您是否考慮過編寫腳本或程序來爲您編寫腳本?生成shell腳本,然後運行它們有時可以成爲解決問題的強大解決方案。

0

我們假設你編寫了23 for循環。 如果每個循環有5個步驟,您將以5^23參數結束!假設每個循環輸出1個字節,您仍然需要存儲10^16個字節或萬億兆字節的內容。 我認爲你應該重新考慮你的問題,或重新制定你的問題

編輯: 這不是一個論壇(和aven在論壇中,你可以編輯你的文章)。 請編輯您的問題,而不是發佈新的答案,我認爲這很有趣