【shell案例】由一个猜数字游戏引发的血案
程序员文章站
2022-07-02 19:47:40
脚本释义本脚本是学员练习脚本的一个案例,脚本的名字叫 猜数字骗局, 脚本一开始,输入用户密码,就是一个简单的猜数字游戏,当你猜了三次的时候,提示是否还玩来刷选用户。当用户玩到第六次的时候,突然中奖,可以免费送一个礼品,礼品需要自己选购,但只有鼠标有货, 当你选好鼠标后,,网站会以网站安全为理由对用户进行审查,要求用户输入必要的信息来兑奖。同时要求用户帮网站做一套架构,LAMP的架构,如果顺利做出来LAMP的架构的,可以获得礼品,否则将再次进入黑名单。本脚本看上去荒诞无奇,但是可以很好的锻炼学员的脚本...
脚本释义
本脚本是学员练习脚本的一个案例,脚本的名字叫 猜数字骗局, 脚本一开始,输入用户密码,就是一个简单的猜数字游戏,当你猜了三次的时候,提示是否还玩来刷选用户。
当用户玩到第六次的时候,突然中奖,可以免费送一个礼品,礼品需要自己选购,但只有鼠标有货, 当你选好鼠标后,,网站会以网站安全为理由对用户进行审查,要求用户输入必要的信息来兑奖。
同时要求用户帮网站做一套架构,LAMP的架构,如果顺利做出来LAMP的架构的,可以获得礼品,否则将再次进入黑名单。
本脚本看上去荒诞无奇,但是可以很好的锻炼学员的脚本意识, 让学员在一个小的脚本的基础上无限扩展。
比如在脚本开始在加入用户验证机制等等。
此脚本做完后就是一个猜数字游戏+购物车模块+一键部署网站+用户登录验证 四个脚本的合体。
学员脚本示例
注意: 此脚本没有加注释,脚本的主要内容和思路都已经在 脚本释义中给出,可以参考来看, 或者可以自己根据脚本释义的内容,尝试写一下。
学员刚刚学习脚本,请多鼓励,喷子勿扰。
#! /bin/bash
a=`expr $RANDOM % 100`
echo $a
s=0
read -ep "请输入帐号:" zhanghao
read -ep "请输入密码:" mima
liu=0
while true
do
for ((s=1;s<=3;s++))
do
read -t 5 -ep "请输入数字:" b
((liu+=1))
if [ $b -gt $a ];then
echo "不好意思猜大了!"
elif [ $b -lt $a ];then
echo "不好意思猜小了!"
else
echo "恭喜你,猜对了!"
fi
done
if [ $liu -eq 6 ];then
read -ep "恭喜你中将了,请输入预计花费金额!" huafei
break
fi
read -ep "是否继续Y/N:" jx
if [ $jx == "N" ];then
exit
echo "本次游戏到此结束!"
elif [ $jx == "Y" ];then
echo "游戏继续"
fi
done
while true
do
read -ep "有一次免费购物机会,请从下列列表选择
1、鼠标
2、美女
3、电脑
4、游艇
请输入您的选择:" zhongjiang
if [ $zhongjiang -eq 1 ];then
read -ep "已添加到购物车,是否继续购买Y/N:" jixu
if [ $jixu == "Y" ];then
read -ep "请选择购买的商品1.键盘,2.U盘" shangpin
case $shangpin in
"1")
echo "购买键盘成功消费200"
exit;;
"2")
echo "购买U盘成功消费300"
exit;;
*)
echo "输入1或者2";;
esac
else
read -ep "还有300块钱的优惠券是否现在消费Y/N:" shifou
if [ $shifou == "Y" ];then
read -ep "请选择购买的商品1.键盘,2.U盘: " shangpin
case $shangpin in
"1")
echo "购买键盘成功消费200"
exit;;
"2")
echo "购买U盘成功消费300"
exit;;
*)
echo "输入1或者2";;
esac
else
echo "加入黑名单,拒绝登陆!"
fi
fi
break
else
echo "缺货中,请选择其他选择商品!"
fi
done
read -ep "是否要登陆?请输入Y/N:" denglu
if [ $denglu == "Y" ];then
read -ep "你已被加入黑名单,需要输入银行卡和密码,请输入Y/N:" yinhang
if [ $yinhang == "Y" ];then
read -ep "请输入银行帐号: " yinhangzhanghao
read -ep "请输入密码: " yinhangmima
read -ep "是否愿意来我们公司做管理员?请输入Y/N: " yuanyi
if [ $yuanyi == "Y" ];then
read -ep "按照下列提示选择要安装的服务
1.自动安装apache
2.自动mysql
3.自动安装php
4.自动上线wordpress
请选择:" anzhuang
case $anzhuang in
"1")
echo "正在安装apache"
yum -y install httpd;;
"2")
echo "正在安装mysql"
yum -y install mariadb mariadb-server;;
"3")
echo "正在安装php"
yum -y install php php-mysql;;
"4")
echo "正在安装wordpress"
sh wordpress.sh;;
*)
echo "输入1,2,3,4";;
esac
fi
fi
else
echo "拒绝登陆"
fi
~
总结
任何复杂的脚本都是从一个简单的功能,慢慢增加复杂的功能,了解了这一点之后,在写脚本,就不至于无从下手。
当然该学员写完后,可以在把其中重复比较多的地方,改为函数,逐渐完善,效果会更好。
脚本写完后,需要慢慢优化,直到变成自己想要的样子。
本文地址:https://blog.csdn.net/xinshuzhan/article/details/108184359