Bash で範囲内の乱数を生成するにはどうすればよいでしょうか?
ベストアンサー1
使用$RANDOM
単純なシェル演算と組み合わせて使用すると便利な場合がよくあります。たとえば、1 から 10 までの乱数を生成するには、次のようにします。
$ echo $((1 + $RANDOM % 10))
3
実際のジェネレータはvariables.c
、関数にありますbrand()
。旧バージョン単純な線形ジェネレーターでした。バージョン4.0ではbash
、引用付きジェネレータに1988年の論文これは、疑似乱数の適切なソースであることを意味します。シミュレーションには使用しません (暗号化にはもちろん使用しません) が、基本的なスクリプト タスクには十分でしょう。
本格的な乱数を必要とする作業を行う場合、/dev/random
または/dev/urandom
乱数が利用可能な場合は、以下を使用します。
$ dd if=/dev/urandom count=4 bs=1 | od -t d