[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] [root@node-1 shell]# ./double-ball.sh 红色球:8 10 12 19 20 22 蓝色球:6