
以下のコードは2〜3の範囲の乱数を表示する必要がありますが、実際には範囲が2〜4のように動作するのはなぜですか?
echo $((RANDOM%3+2))
答え1
信頼できる方法が必要な場合は、以下を試してください。
intrandfromrange() { echo "$(( ( RANDOM % ($2 - $1 +1 ) ) + $1 ))"; }
intrandfromrange 2 4
答え2
あなたの質問に答えてください:
RANDOM%3
可能な値は3つです。
0、1、2
+2 次:
2、3、4