shell脚本中case的简单应用

case的小例子

创建一个shell的环境

vim case.sh

#! /bin/bash

# 提示输出
echo "1. 猜数字"
echo "2. 检测域名是否可以访问"
echo "3. 检测ip是否可以ping通"
#read -p "请输入您的选择: " num

# 加入循环
while true
do
# 提示输入
read -p "请输入您的选择: " num
# 加入条件
case $num in
1)
# 随机生成一个100以内的数字
n1=$(expr $RANDOM % 100)
echo $n1
i=0   # 定义一个变量
while true   # 进入循环
do
        read -p "请输入一个数字:" n2
        let i++   # 累加
        # 判断输入的数字是否和随机数相等
        if [ $n2 -eq $n1 ];then
                echo "真聪明,猜对了!"
                echo "您共猜了$i次"
                break
        elif [ $n2 -gt $n1 ];then
                echo "好遗憾,猜大了!"
        elif [ $n2 -lt $n1 ];then
                echo "好遗憾,猜小了!"
        else
                echo "请正确输入数字!"
        fi
done
;;
2)
# 定义一个数组包含域名
a=(www.baidu.com www.kugou.com www.aabbcc.com www.tudou.com)
for i in ${a[*]}   # 遍历输出域名
do
        # 输出域名访问的状态码
        code=`curl -I -o /dev/null -s -w %{http_code} $i`
        echo $code
        # 判断状态码是否是200
        if [ $code -eq 200 ];then
                echo "$a is good!"
        else
                echo "$a is bad!"
        fi
done
;;
3)
# 定义一个数组包含ip地址
ip=(
        192.168.30.171
        127.0.0.1
        172.10.1.1
        172.10.30.2
)
for i in ${ip[*]}  # 遍历ip数组
do
        # 判断ip是否是192或127开头
        if [[ $i =~ '192' ]] || [[ $i =~ '127' ]];then
                echo "$i is ok!"
        else
                echo "$i is not ok!"
                # 将不通的ip地址doos掉
                iptables -I INPUT -ptcp -s $i -j DROP
        fi
done
;;
esac
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值