コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

bashでランダムな数値割り出しを実現する

そういえばやり方知らなかったのでメモ

環境

$ sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

やり方

いろいろやり方はあるが環境変数 $RANDOM を使うのが一番簡単。$RANDOM は0から32767の値を出すのでそれをよしなに利用する。

普通に数値が32767まで出ていい場合はそのまま使えばOK、例えばdemo.shに

echo $RANDOM

とすれば

$ sh demo.sh 
28213

のように出力される。

もし数値を絞りたい場合は余り算出方法でやればいいので200まで出したい場合は

echo $((RANDOM%+201))

とすれば

$ sh demo.sh 
96
$ sh demo.sh 
200
$ sh demo.sh 
150

のように任意数値が出せる。

参考リンク