乱数を印刷するための可変長ループを作成する方法は?

乱数を印刷するための可変長ループを作成する方法は?

ユーザーに乱数の行と列数の入力を求められたら、乱数行列を作成しようとします。入れ子になった for ループのみ使用できます。

行と列の2つの変数を作成しましたが、主な問題はforループが正しくエコーされるようにすることです。これは私のループ機能です

    for i in [1..$rows]; do
    echo "$RANDOM";
    done

私はiの値を1 + 1に増やそうとしましたが、ループは一度だけ実行されます。スクリプトが$ rowsの値を読み取るようにしたいと思います。

ベストアンサー1

同様の構文はありません[x..y]{x..y}と思うかもしれませんが、それはうまくいきませんifxまたはy変数。

したがって、次のいずれかを試すことができます。

for ((i=1;i<=$rows;i++)); do
    echo "$RANDOM"
done

または

for i in $(seq 1 "$rows"); do
    echo "$RANDOM"
done

または

i=0 
while (( ++i <= rows)); do
    echo "$RANDOM"; 
done

でも

i=0
until [ $i -gt $rows ]; do 
    echo "$RANDOM"
    ((i++))
done

おすすめ記事