概述
今天主要分享一个有趣的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_Temptrap 'echo "请勿使用 Ctrl+c"' 2Randow() { 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
脚本结果
测试如下:
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~