[随机数]
#!/bin/bash loop=10 for ((i=0;i<$loop;i++)) do echo $RANDOM done
在shell中产生随机数其实是很简单的, 因为$RANDOM这个看起来是个变量的玩意儿就能方便地返回随机数.
我们运行上面的一个程序, 可以看到也许有类似这样的结果:
17946
8239
4510
4797
10094
30336
19126
26416
18066
17440
实际上, 这样的方式产生的随机数范围是: 0-32767(有符号的16bit整数)
然而在我们平时, 经常需要产生一个范围内的数字, 比如说, 想要产生6~20之间的整数, 那么我们就可以用这样一段代码:
#!/bin/bash min=6 max=20 ((range=$max-$min+1)) echo "range: $range" loop=10 for ((i=0;i<$loop;i++)) do echo $((RANDOM%$range+$min)) done
这个min和max就代表了随机数的数字范围, 也许我们执行的结果是:
range: 15
6
13
6
10
13
17
10
20
15
10
恰好6和20都有出现, 其他数字也都是落在这个范围内的~
本文链接:https://www.poisonbian.com/post/1053.html 转载需授权!