分享一個有趣的shell腳本--實現抓鬮程序

2019-11-01     波波說運維

概述

今天主要分享一個有趣的shell腳本,用來實現抓鬮,平時就不用剪刀石頭布了。


需求

使用shell編寫一個抓鬮的程序:

1、執行腳本後,輸入英文名字全拼,產生隨機數01-99之間的數字,數字越大評分就去高,前面已經抓到的數字,下次不能在出現相同數字。

2、第一個輸入名字後,螢幕輸出信息,並將名字和數字記錄到文件里,程序不能退出繼續等待別人輸入。


實現腳本

#!/bin/bash
Randow_Temp=/tmp/randow.test
name_Out_File1=/tmp/name_Out_File1.test
name_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 true
do
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
clear
done


腳本結果

測試如下:


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

文章來源: https://twgreatdaily.com/zh-tw/xzJ1JG4BMH2_cNUgmJKW.html