次のコマンドを実行したいです:
./a.out 1
./a.out 2
./a.out 3
./a.out 4
.
.
. and so on
これをループとして記述するにはどうすればよいでしょうかMakefile
?
ベストアンサー1
の使用状況から推測すると./a.out
、UNIX タイプのプラットフォームを使用している場合は、次のようにします。
for number in 1 2 3 4 ; do \
./a.out $$number ; \
done
次のようにテストします。
target:
for number in 1 2 3 4 ; do \
echo $$number ; \
done
生成:
1
2
3
4
範囲を広げるには、以下を使用します。
target:
number=1 ; while [[ $$number -le 10 ]] ; do \
echo $$number ; \
((number = number + 1)) ; \
done
これは 1 から 10 までを出力します。while
コメントに示されているように、終了条件を 10 から 1000 に変更するだけで、範囲がさらに広がります。
ネストされたループは次のように実行できます。
target:
num1=1 ; while [[ $$num1 -le 4 ]] ; do \
num2=1 ; while [[ $$num2 -le 3 ]] ; do \
echo $$num1 $$num2 ; \
((num2 = num2 + 1)) ; \
done ; \
((num1 = num1 + 1)) ; \
done
制作:
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
4 1
4 2
4 3