2

このコード...

#!/bin/bash

cond=10;

for i in {1..$cond}
do
    echo hello;
done

...ただ私を夢中にさせます。iにあるように、これは 'hello' を 1 つだけ出力し{1..10}ます。

#!/bin/bash

cond=10;

for i in {1..10}
do
    echo hello;
done

望ましい 10x hello を出力します。変数を条件に入れる方法は? 私はさまざまなアプローチを試みましたが、どれもうまくいきませんでした。簡単な作業ですが、よろしくお願いします。

4

2 に答える 2

6

これはうまくいきます:

cond=10;

for ((i=0;i<=$cond;i++));
do
    echo hello;
done
于 2012-04-04T21:53:29.123 に答える
2

すでに答えられている古典的なループとは別に、あなたもいくつかの魔法を使うことができます:

#!/bin/bash

cond=10

for i in $(eval "echo {1..$cond}")
do
    echo hello
done

しかし、もちろん、読みにくいです。

于 2012-04-04T22:07:27.837 に答える