变量$Random是shell中自带的随机变量,会产生5位的一个随机数。
使用小于5位的随机数,比如:
10以内的数,可以让该数对10取模 $(($Random % 10))
100以内的数,可以让该数对100取模 $(($Random %100))
。。。以此类推
如果要使用大于5位的数呢?
为了确保高位和低位都尽可能的随机,可以这样做,如下:
(假设是7位数)
$Random*100+$(($Random %100))
加号前是高位,而低位都是0,为了保证低位也随机,所以需要再加上百位以内的随机数。
示例程序(产生2000个7位的随机数):
let i=2000
while [ $i -gt 0 ]
do
high_num=$Random*100
low_num=$(($Random %100))
let num=$high_num+$low_num
echo $num
let i=$i-1
done