我在使用bash脚本时会遇到一些麻烦,该脚本旨在生成100到999之间的随机数。
我的脚本如下:
for i in {1..1000}
do
pin=$((( $RANDOM % 999) +100))
echo $pin
done
以下是输出示例。正如你所看到的,有些数字超过999.这里可能会发生什么?
626
901
1094
456
290
1047
265
221
483
626
848
198
879
474
993
205
200
229
391
325
306
201
800
1004
694
答案 0 :(得分:1)
虽然($ RANDOM%999)在0到999范围内,但你的输出是(($ RANDOM%999)+ 100),范围是100到1099.是(($ RANDOM + 100)%999)而不是(($ RANDOM%999)+ 100)你想要什么?
答案 1 :(得分:1)
要在100到999之间发出1000个数字:
for ((i=0; i<1000; i++)); do
echo "$(( ( RANDOM % 900 ) + 100 ))"
done
请记住,900 % 900
为0,表示输出的最大值为899,因此如果您希望值(加法后)为999(含),则使用900而不是899。 / p>