linux shell中利用$RAMDOM产生伪随机数,伪随机数的应用背景还是比较广泛的。以下脚本模拟掷骰子的过程,统计各个面出现的次数。具体脚本如下
1 #! /bin/bash
2
3 function count()
4 {
5 case "$1" in
6 1)
7 one=$((one+1));;
8 2)
9 two=$((two+1));;
10 3)
11 three=$((three+1));;
12 4)
13 four=$((four+1));;
14 5)
15 five=$((five+1));;
16 6)
17 six=$((six+1));;
18 *)
19 echo "error!"
20 esac
21 }
22
23 MAX=1000
24
25 for ((i=1;i<=1000;i++))
26 do
27 temp=$(($RANDOM%6))
28 temp=$((temp+1))
29 count $temp
30 done
31
32 echo "The results are:"
33 echo "1:$one"
34 echo "2:$two"
35 echo "3:$three"
36 echo "4:$four"
37 echo "5:$five"
38 echo "6:$six"
结果大致符合概率分布理论。