Bash의 $RANDOM 범위 문제

Bash의 $RANDOM 범위 문제

아래 코드는 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

관련 정보