点名脚本

脚本要求: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.178linux.com/74996

(0)
chenxu@magedu.comchenxu@magedu.com
上一篇 2017-05-08
下一篇 2017-05-08

相关推荐

  • shell编程进阶

    2、编写脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息 read -p “Enter you choice yes|no:” Choice Choice1=`echo $Choice | tr ‘[a-z]’ ‘[A-Z]&#8…

    2017-09-16
  • bash工作特性之命令执行状态返回值和命令行展开的讲解和实例

    命令执行状态返回值 在Linux bash中可以用命令执行状态返回值来判断命令是否运行成功,而不需去关心命令返回的结果是多少。 bash通过状态返回值来得到输出结果; 成功:返回值 0 [root@localhost tmp]# ls aaa [root@localhost tmp]# mkdir $(date +%H-%m-%S) [root@localh…

    Linux干货 2018-03-01
  • lvs实践(lvs+nginx+mariadb+php—fpm+nfs搭建wordpress)

    lvs实践(lvs+nginx+mariadb+php—fpm+nfs搭建wordpress)   lvs实践(lvs+nginx+mariadb+php—fpm+nfs搭建wordpress) lvs_dr模型 nginx mariadb php-fpm wordpress   lvs实践(lvs+nginx+mariadb+php—f…

    2017-01-03
  • Linux任务计划,周期性任务执行详解

    Linux任务计划,周期性任务执行 概述 本章将为大家介绍一些任务计划和周期性任务计划执行相关内容任务计划的分类主要有由两种    未来的某时间点执行一次某任务:at,batch    周期性运行某任务:crontab具体分为三个方面来说明:    1、at计划任务    2、c…

    Linux干货 2016-09-27
  • RPM软件包管理

    Linux应用程序的组成 安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux系统中,典型的应用程序通常由以下几部分组成。 普通的可执行程序文件:一般保存在“/usr/bin”目录中,普通用户即可执行。 服务器程序、管理程序文件:一般保存在”/usr/sbin“目录中,只有管理员能执行。 配置文件:一般保存在”/etc“目录中…

    Linux干货 2016-08-21
  • 运维的危险命令,用了必死(1)

    Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地。)

    2017-11-16