2016-05-10 7 views
0

ここで問題に直面しています。私は定義された値でループを作りたいと思います。定義された値をシェル内のループとして呼び出す方法

list="-50..50" 

for i in {$list} 
    do ... 

それはあなたがseqを使用し、bashのブレース展開に変数を使用するカント見ることができるように私の欲求の実行が

for i in {-50..50} 
    do ... 

答えて

1

でなければなりません

for i in -50..50 
    do ... 

としてだけ単一の文字列を実行していますすなわち、次のようなシーケンスプログラム:

$ low=10 
$ high=20 
$ for i in {low..high};do #treated as string 
> echo $i 
> done 
{low..high} 
$ for i in {$low..$high};do echo $i; done #values substituted but no brace expansion done by bash 
{10..20} 
$ 
$ for i in $(seq $low $high);do echo $i; done 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
$ 
関連する問題