Bashの$RANDOM範囲の問題

Bashの$RANDOM範囲の問題

以下のコードは2〜3の範囲の乱数を表示する必要がありますが、実際には範囲が2〜4のように動作するのはなぜですか?

echo $((RANDOM%3+2))

ベストアンサー1

信頼できる方法が必要な場合は、以下を試してください。

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

おすすめ記事