• 第七节


    Shell脚本

    条件测试语句

    格式:[  条件表达式  ]         //两边有空格

    文件测试常用参数:

    -d 测试文件是否为目录
    -e 测试文件是否存在
    -f 判断是否为一般文件
    -r 测试当前用户是否有读权限
    -w 测试当前用户是否有写权限
    -x 测试当前用户是否有执行权限

    文件测试是使用指定条件来判断文件或目录是否存在、权限是否满足等情况。

    常用的整数比较运算符

    -eq 是否等于
    -ne 是否不等于
    -gt 是否大于
    -lt 是否小于
    -le 是否小于或等于
    -ge 是否大于或等于

    整数比较运算符仅仅是对数字进行操作。

    常见的字符串比较运算符:

    = 比较字符串内容是否相同
    != 比较字符串内容是否不同
    -z 判断字符串是否为空

    字符串比较语句用于判断测试字符串是否为空,或两个字符串是否相同。

    流程控制语句

    if条件测试语句:

    if语句分为单分支结构、双分支结构、多分支结构

    单分支结构:

    if    条件                           //条件判断

        then   命令序列           //满足条件执行then

    fi                                     //不满足条件,结束退出

    [root@linuxprobe ~]# vim mkcdrom.sh
    #!/bin/bash             //脚本声明
    DIR="/media/cdrom"      //定义变量
    if [ ! -d $DIR ]        //判断目录是否存在
    then    
            mkdir -p $DIR   //不存在则创建
    fi

    双分支结构:

    if    条件                           

        then   命令序列1          //满足条件执行then

        else   命令序列2          //不满足执行else

    fi                                     //结束退出

    [root@superwu10 shell.test]# vim checkhost.sh
    #!/bin/bash
    IP=192.168.10.30
    ping -c 3 $IP &> /dev/null
    if [ $? -eq 0 ]
    then
        echo "$IP is online"
    else
        echo "$IP is offline"
    fi

    多分支结构:

    if    条件1                         

        then   命令序列1          //满足条件1执行t

    elif  条件2

        then   命令序列2          //满足条件2执行

    elif  条件3

        then   命令序列3         //满足条件3执行

    else  

          命令序列4                //以上条件都不满足执行

    fi                                     //结束退出

    [root@superwu10 shell.test]# cat checkchengji2.sh
    #!/bin/bash
    read -p "Enter your chengji (0-100)" DATA
    if [ $DATA -ge 90 ] && [ $DATA -le 100 ]
    then echo "$DATA is youxiu"
    elif [ $DATA -lt 90 ] && [ $DATA -ge 70 ]
    then echo "$DATA is lianghao"
    elif [ $DATA -lt 70 ] && [ $DATA -ge 60]
    then echo "$DATA is pass"
    elif [ $DATA -lt 60 ] && [ $DATA -ge 0 ]
    then echo "$DATA is not pass"
    else echo "You enter is Error,please enter 0-100"
    fi

  • 相关阅读:
    洛谷 P2677 超级书架 2 题解
    洛谷 P3957 跳房子 二分+DP检验+单调队列优化
    BZOJ 1030 AC自动机+DP
    SPOJ-EPALIN 字符串哈希 回文
    URAL-1989 树状数组+字符串哈希
    POJ-2774 字符串哈希+二分
    CCF 201709-5 除法(线段树)
    CCF CSP个人题解汇总
    CCF CSP历年一二题代码汇总
    CCF 201803-4 棋局评估 (对抗搜索)
  • 原文地址:https://www.cnblogs.com/wushuai2018/p/15836213.html
Copyright © 2020-2023  润新知