腳本要求:1、隨機抽點80以內的隨機證書;
2、可以一次抽取多個隨機數;同時間抽取的隨機數要唯一;
3、被抽取之后的隨機數,之后不會再抽取;
4、可以重置。
腳本構建圖解:
腳本實現:
#!/bin/bash
#Author:chenxu
#Date:2017-05-07
#Descritptions:
rand_num(){ #定義點名函數
[[ -d /app ]]||mkdir /app
touch /app/temp > /app/temp
[[ -f /app/temp.bak ]]||touch /app/temp.bak
echo 24 >> /app/temp.bak
read -p “input number: ” x
while [ `sort /app/temp |uniq|wc -l` != $x ] #定義一次抽點的人數的規則
do
m=$(($RANDOM %80+1))
n=`grep ^$m$ /app/temp.bak`
if [ -z $n ];then
echo $m && echo $m >>/app/temp.bak && echo $m >>/app/temp
else
continue
fi
done
rm -rf /app/temp
}
read -p “you can choose start|re_start|quit: ” name
case $name in
start)
實驗總結:1、構建實驗腳本邏輯結構;
2、靈活實現邏輯結構;
3、多去實驗,不斷修改,有問題可以嘗試換個思路去解決。
原創文章,作者:chenxu@magedu.com,如若轉載,請注明出處:http://www.www58058.com/74996