0

多くの入力の組み合わせで実行する必要のあるスクリプトがあります。現在、私はperlスクリプトでそれを行っていますが、シェルでそれを行う方法を学びたいと思っています。

./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

bashforループの構文には2つの選択肢があります。

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

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

1つ目はリストなどをナビゲートするためのJavaループに似ていますが、2つ目は古い学校の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 に答える