首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
软件
运维软件
办公软件
书籍资源
技术陪跑营
重要信息
首页 运维教程shell脚本【shell案例】由一个猜数字游戏引发的血案

【shell案例】由一个猜数字游戏引发的血案

脚本释义

本脚本是学员练习脚本的一个案例,脚本的名字叫 猜数字骗局, 脚本一开始,输入用户密码,就是一个简单的猜数字游戏,当你猜了三次的时候,提示是否还玩来刷选用户。

当用户玩到第六次的时候,突然中奖,可以免费送一个礼品,礼品需要自己选购,但只有鼠标有货, 当你选好鼠标后,,网站会以网站安全为理由对用户进行审查,要求用户输入必要的信息来兑奖。

同时要求用户帮网站做一套架构,LAMP的架构,如果顺利做出来LAMP的架构的,可以获得礼品,否则将再次进入黑名单。

本脚本看上去荒诞无奇,但是可以很好的锻炼学员的脚本意识, 让学员在一个小的脚本的基础上无限扩展。

比如在脚本开始在加入用户验证机制等等。

此脚本做完后就是一个猜数字游戏+购物车模块+一键部署网站+用户登录验证 四个脚本的合体。

学员脚本示例

注意: 此脚本没有加注释,脚本的主要内容和思路都已经在 脚本释义中给出,可以参考来看, 或者可以自己根据脚本释义的内容,尝试写一下。

学员刚刚学习脚本,请多鼓励,喷子勿扰。

#! /bin/bash
a=`expr RANDOM % 100`
echoa
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 -gta ];then
                        echo "不好意思猜大了!"
                elif [ b -lta ];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
                         caseshangpin 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
                         caseshangpin 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
                                caseanzhuang 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
~    

总结

任何复杂的脚本都是从一个简单的功能,慢慢增加复杂的功能,了解了这一点之后,在写脚本,就不至于无从下手。
当然该学员写完后,可以在把其中重复比较多的地方,改为函数,逐渐完善,效果会更好。

脚本写完后,需要慢慢优化,直到变成自己想要的样子。

本文链接:http://www.geekyunwei.com/1125.html

网友评论comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 公众号《极客运维之家》
扫二维码
扫二维码
返回顶部