欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【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