0

我有一个脚本,我需要运行许多输入组合。目前我正在使用 perl 脚本执行此操作,但我想学习如何在 shell 中执行此操作。

我需要运行./script.pl a b a=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 也可以。

4

1 回答 1

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
于 2012-12-06T01:36:16.440 回答