現有100個員工,編號由1~100.寫一個腳本,實現隨機抽獎,抽選5名員工獲獎。並且要求不可以重複中獎
- #!/bin/bash
- for ((i=0;i<5;i++))
- {
- num=$(($RANDOM%100+1))
- for ((j=0;j<=i;j++))
- {
- if [ $num -ne $((myarray[$j])) ]
- then
- myarray[$i]=$num
- fi
- }
- }
- echo ${myarray[*]}
[root@hadoop2 4]# ./s.sh
61 14 40 31 26
在這個腳本中,最重要的就是這兩個循環的嵌套,然後是兩個數字的選用。當循環的次數足夠大,大到跟數據總數一樣多,可以實現將所有用戶亂序排列。但是效率很低。如果基數過大會造成不必要的數據問題。