为什么下面的代码应该显示 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
为什么下面的代码应该显示 2-3 范围内的随机数,但实际上就像范围是 2-4 一样?
echo $((RANDOM%3+2))
如果您想要一种可靠的方法,请尝试这样做:
intrandfromrange() { echo "$(( ( RANDOM % ($2 - $1 +1 ) ) + $1 ))"; }
intrandfromrange 2 4
回答你的问题:
RANDOM%3
有 3 个可能的值:0、1 和 2
+2 那么:
2、3 和 4