この記事では、シェルスクリプトで乱数を生成し、活用する方法について詳しく解説します。
目次
基本的な乱数生成
シェルスクリプトで最も基本的な乱数生成の方法は、\$RANDOM変数を使用することです。\$RANDOM は、0から32767までの整数値をランダムに生成します。
#!/bin/bash
# ランダムな整数を生成
random_number=$RANDOM
echo "Random number: $random_number"
このスクリプトを実行すると、毎回異なる整数が表示されます。
乱数の範囲を指定する
\$RANDOM で生成される乱数の範囲を制限するには、剰余演算を使用します。例えば、0 から 99 までの乱数を生成する場合は次のようにします。
#!/bin/bash
# 0から99までの乱数を生成
random_number=$((RANDOM % 100))
echo "Random number between 0 and 99: $random_number"
乱数の範囲を指定して浮動小数点数を生成する
乱数を浮動小数点数として生成したい場合、以下のように bcコマンドを使用します。以下により0~1までの間の数の乱数を生成することができます。
#!/bin/bash
# 0から1の範囲の浮動小数点数を生成
random_float=$(echo "scale=2; $RANDOM/32767" | bc)
echo "Random float between 0 and 1: $random_float"
shufコマンドを使用する
shufコマンドを使用すると、範囲内のランダムな整数を簡単に生成できます。shufはファイルや入力のシャッフルも可能です。
#!/bin/bash
# 1から10までの乱数を生成
random_number=$(shuf -i 1-10 -n 1)
echo "Random number between 1 and 10: $random_number"