さまざまなパラメータを使用してプログラム(ループ)を実行します。

さまざまなパラメータを使用してプログラム(ループ)を実行します。

prog端末から呼び出すときに、次の整数引数を受け入れるプログラムがあります。

./prog 10

prog次の値の範囲を使用してこれを実行したいと思います10, 20, 30, ...。以下を使用する代わりに、きちんとした方法があります。

./prog 10 ; ./prog 20 ; ./prog 30 ; ....

ベストアンサー1

Bash、Zsh、またはKsh93で単純なforループを使用できます。以下は、Bashバージョン4(2009)、zsh 4.3.10(2010)、およびksh93r(2006)にのみ適用されます(構文は(1995){x..y}で始まりましたが)。zsh2.6-beta4

#!/bin/bash
# since Bash v4
for i in {10..100..10}
do
     $path_of_prog/prog $i
done

この{$start..$end..$step}部分は$i開始が等しいことを意味し、に移動します$start。各段階で追加される金額です。このようにして、我々はの値を得る。$i$end$step$i10 20 30 ... 100$i

1行にすべて書くこともできます

for i in {10..100..10}; do ./prog $i; done

以前の Bash があり、seqGNU を使用できる場合は、次の行を使用します。

#!/bin/bash
#only for pre Bash v4
for i in $(seq 10 10 100)
do
   $path_of_prog/prog $i
done

または単一の裏地で

for i in $(seq 10 10 100);do ./prog $i; done

$IFS(上記では変数を変更していないとします。)

おすすめ記事