1

特定の範囲から乱数を生成するために $RANDOM で使用できるいくつかのオプションを特定しようとしていますが、見つけることができません。誰かが私を助けてくれませんか。echo $RANDOM はシェルから数値を生成しますが、ランダムであり、私の範囲に固有のものではありません。1から100までの範囲でランダムに生成したい。

4

5 に答える 5

2

GNU ソートがある場合:

rand=$( seq $start $end | sort -R | head -1)

外部ツールを呼び出すため、$RANDOM で演算を実行するよりも数ミリ秒遅くなります。

于 2013-01-22T22:36:57.947 に答える
1

関数を使用してこれを試してくださいshell

intrandfromrange() { echo $(( ( RANDOM % ($2 - $1 +1 ) ) + $1 )); }
intrandfromrange 1 100

説明

  • foo() { }シェル関数のスケルトンです。
  • $((...))囲まれた算術式の結果を返します。
  • %modulo、除算の余りを表します。
  • $1&$2は、関数の最初と 2 番目の引数です。
  • あとは簡単な算数です。
于 2013-01-22T18:01:42.503 に答える
0

第 3 世代言語を使用する場合:

python -c 'import random; print(random.randint(1, 100))'
于 2013-01-22T18:56:02.720 に答える