shell脚本生成双色球号码
双色球号码生成规则
1、第七条“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1–33中选择;蓝色球号码从1–16中选择。
2、第二十五条“双色球”彩票以投注者所选单注投注号码(复式投注按所覆盖的单注计)与当期开出中奖号码相符的球色和个数确定中奖等级:
一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
shell脚本实现
[root@node-1 shell]# more double-ball.sh
#!/bin/bash
#定义零长度数组
arr=()
length=${#arr[@]}
while [ "${length}" -lt 6 ]
do
#取1到33的随机数
s=$[$RANDOM%33+1]
#判断随机数是否在数组中,不在就赋值给数组
if [[ ! "${arr[@]}" =~ "${s}" ]]
then
arr["${length}"]=$s
let length+=1
else
echo '存在'> /dev/null
fi
done
#原数组
#echo ${arr[*]}
#对数组进行排序操作
for ((i=0; i<${#arr[@]}; i++))
do
for ((j=0; j<${#arr[@]}-1; j++))
do
#${arr[j]}获取单个元素,-gt为大于
if [[ ${arr[j]} -gt ${arr[j+1]} ]]
then
#分别定义min为小值,MAX为大值
min=${arr[j+1]}
max=${arr[j]}
#调整数组arr中数值顺序
arr[j]=$min
arr[j+1]=$max
fi
done
done
#输出冒泡排序结果
echo 红色球:${arr[@]}
#蓝色球从1到16中随意选择一个
echo 蓝色球:$[$RANDOM%16+1]
shell运行结果展示
[root@node-1 shell]# chmod u+x double-ball.sh
[root@node-1 shell]# ./double-ball.sh
红色球:1 19 20 22 27 29
蓝色球:13