zoukankan      html  css  js  c++  java
  • Linux就该这么学--Shell脚本条件语句(二)

    1.for条件语句

    先读取多个不同的变量值,然后逐一执行同一组命令。

    从列表文件中读取主机地址,逐个测试是否在线。

    从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机IP地址,测试是否能够ping通:

    vim ipadds.txt
    

     内容如下:

    192.168.20.6
    192.168.20.47
    192.168.20.120
    localhost
    

     测试Shell脚本:

    #!/bin/bash
    HLIST=$(cat /home/ipadds.txt)
    for IP in $HLIST
    do
    ping -c 3 -i 0.2 -W 3 $IP &> /home/jacun/jacun
    if [ $? -eq 0 ] ; then
    echo "$IP is OK"
    else
    echo "$IP is Down"
    fi
    done
    

    2.while条件语句

    用于重复测试某个条件,当条件成立时则继续重复执行。

    随机生成一个0-999的整数,判断并提示用户输入的值过高或过低,只有当用户猜中才结束程序。

    脚本中的$RANDOM是一个随机变量,用于在%1000后会得到一个介于0-999的整数后赋值给PRICE变量,while后面的true代表该循环会永远循环执行:

    vim DemoRandom.sh
    

    Shell脚本如下:

    #!/bin/bash
    PRICE=$(expr $RANDOM % 10000)
    TIMES=0
    echo "手机的价格为0-9999之间,猜猜看是多少?"
    while true
    do
    read -p "请输入你猜测的价格:" INT
    let TIMES++
    if [ $INT -eq $PRICE ] ; then
    echo "恭喜你答对了,实际价格是 $PRICE"
    echo "你总共猜测了 $TIMES 次"
    exit 0
    elif [ $INT -gt $PRICE ] ; then
    echo "你猜的太高了"
    else
    echo "你猜的太低了"
    fi
    done
    

     

    3.case条件语句

    可以根据变量的不同取值,分别执行不同的命令动作。

    提示用户输入一个字符,判断该字符是字母、数字还是特殊字母。

    用户输入一个字符并将其赋值给变量KEY,判断变量KEY为何种字符:

    vim DemoKey.sh
    

     Shell脚本如下:

    #!/bin/bash
    read -p "请输入一个字符,并按Enter键确认:" KEY
    case "$KEY" in
    [a-z]|[A-Z])
    echo "你输入的是字母"
    ;;
    [0-9])
    echo "你输入的是数字"
    ;;
    *)
    echo "你输入的是空格、功能键或其他控制字符"
    esac
    

     

  • 相关阅读:
    指定盘符获取u盘PID、VID、序列号等信息
    禁用u盘再启用
    golang 使用编译选项-H=windowsgui后,仍然输出log到console
    c#实现"扫描检测硬件改动"
    哈希表
    Python 环境搭建
    Python 简介
    Python 基础教程
    7.1.2 定义改进的Sales_date类
    第七章 类
  • 原文地址:https://www.cnblogs.com/zjiacun/p/8204828.html
Copyright © 2011-2022 走看看