員工抽獎腳本(隨機數、數組)

現有100個員工,編號由1~100.寫一個腳本,實現隨機抽獎,抽選5名員工獲獎。並且要求不可以重複中獎

  1. #!/bin/bash  
  2. for ((i=0;i<5;i++))  
  3. {  
  4.      num=$(($RANDOM%100+1))  
  5.      for ((j=0;j<=i;j++))  
  6.      {  
  7.           if [ $num -ne $((myarray[$j])) ]  
  8.           then 
  9.           myarray[$i]=$num  
  10.           fi  
  11.      }  
  12. }  
  13. echo ${myarray[*]}

[root@hadoop2 4]# ./s.sh 
61 14 40 31 26

在這個腳本中,最重要的就是這兩個循環的嵌套,然後是兩個數字的選用。當循環的次數足夠大,大到跟數據總數一樣多,可以實現將所有用戶亂序排列。但是效率很低。如果基數過大會造成不必要的數據問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章