2012-12-06 107 views
0

我有一個腳本,我需要運行許多輸入組合。目前我正在用perl腳本來做,但我想學習如何在shell中完成它。For循環終端

我需要運行./script.pl a b 爲的= 1..100和b的所有組合= 1..100

for ($a = 1; $a <100; $a++) { 
    for ($b = 1; $b <100; $b++) { 
     system "./script.pl $a $b"; 
     } 
} 

我目前使用bash,但zsh中或tcsh工作過。

回答

3

bash for loops中有2種語法選擇。

for VARIABLE in 1 2 3 4 5 .. N 
do 
    commands 
done 

for ((EXP1; EXP2; EXP3)) 
do 
    commands 
done 

首先是類似於Java循環瀏覽列表等,而第二個是老派的for循環。

您可以將您的循環重寫爲其中之一。

for b in {1..100} 
do 
    ./script $a $b 
done 

for ((b = 1; b <100; b++)) 
do 
    ./script $a $b 
done