面试常用shell脚本_面试官:如何用shell脚本实现抓阄程序

概述

今天主要分享一个有趣的shell脚本,用来实现抓阄,平时就不用剪刀石头布了。


需求

使用shell编写一个抓阄的程序:

1、执行脚本后,输入英文名字全拼,产生随机数01-99之间的数字,数字越大评分就去高,前面已经抓到的数字,下次不能在出现相同数字。

2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出继续等待别人输入。


实现脚本

#!/bin/bashRandow_Temp=/tmp/randow.testname_Out_File1=/tmp/name_Out_File1.testname_Out_File2=/tmp/name_Out_File2.test​>$name_Out_File1>$name_Out_File2>$Randow_Temp​trap 'echo "请勿使用 Ctrl+c"' 2​Randow() { sum=`echo $RANDOM |cut -c-2` grep $sum $Randow_Temp if [ $? -eq 0 ];then Randow else echo $sum >>$Randow_Temp daxiao=$sum fi}​Print() { read -p "请输入名字的拼音:" Name  Randow echo $Name $daxiao >>$name_Out_File}​while truedo clear echo "" echo -e "033[32m 这个程序会将随机数字排名前三的同学显示出来!033[0m" echo -e "033[31m 退出脚本请使用 'exit' 033[0m"  echo "" head -4 $name_Out_File2 read -p "请输入名字的拼音:" "Name" if [ "$Name" == exit ] then  exit fi Randow echo $daxiao $Name >>$name_Out_File1 echo "随机数最大的三位同学是:" >$name_Out_File2 sort -k1 -r $name_Out_File1 |column -t >>$name_Out_File2 cleardone
fddb92d950466069d0ac21ddbb440763.png
7990c551ba0b1ac0c75c9be0963ee9d2.png

脚本结果

测试如下:

c129b767c4a074279041c191ee0d2d68.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

fa144641aba935c5b1619ba6a3427297.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值