概述
[root@moli tmp]# cat wx.txt
小可爱
王可爱
小夹子
小李子
亲爱的
思随机
幻er
天量的
[root@moli tmp]# cat lottery.sh
#! /bin/bash
# 定义一个函数
rand(){
# local定义局部变量
# 使用 ..代替空格
local seeds=`while read line;do echo ${line// /..}; done < wx.txt`
local count=0
while [[ $count != 1 ]];do
# 从seeds中筛选出一部分人
# RANDOM%2 生成0/1随机数
0的时候
后面的短路
seeds=`for seed in $seeds;do (($RANDOM%2)) && echo $seed;done`
count=`echo "$seeds" | wc -l`
done
# 防止空白操作
if [[ $seeds == "" ]];then
rand
else
echo $seeds
fi
}
# 筛选出多个人
res(){
for ((i=0;i<$1;i++));do
tmp=`rand`
while [[ `is_repeat $tmp` == 0 ]];do
tmp=`rand`
done
arrs[$i]=$tmp
done
echo ${arrs[@]}
# @也可以时*
}
# 把输进来的数据 与数组内的数据比较
is_repeat(){
# 如何遍历数组
for arr in ${arrs[@]};do
# $1 是执行函数时的传参
if [[ $arr == $1 ]];then
echo 0;
return 0;
fi
done
echo 1;
return 1;
}
# 执行脚本时的传参
res $1
最后
以上就是忧郁白猫为你收集整理的bash小练习>抽奖的全部内容,希望文章能够帮你解决bash小练习>抽奖所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复