美文网首页
shell 3. 条件测试和判断语句

shell 3. 条件测试和判断语句

作者: JunChen | 来源:发表于2022-09-04 14:29 被阅读0次

    一、条件测试

    $? 等于0 表示前一个命令测试成功,等于1表示测试失败

    字符串测试

    # 第一种写法
    test expression
    
    # 第二种写法 expression前后一定要有空格
    [ expression ]
    
    

    数据

    1. 判断字符串是否不为空,0表示不为空,1表示为空。

    2. 判断字符串是否为空,0表示为空,1表示不为空。

    3. 判断两个字符串是否相等,0表示相等,1表示不相等。

    4. 判断两个字符串是否不相等,0表示不相等,1表示相等。

    5. 常用的字符串判断

    1. 判断字符串是否为空 2. 判断字符串是否相等

    整数测试

    # 第一种写法
    test number1 option number2
    
    # 第二种写法
    [ number1 option number2 ]
    
    

    optiion

    运算符 说明
    -eq 等于
    -ne 不相等
    -gt 大于
    -ge 大于等于
    lt 小于
    le 小于等于

    实例


    文件测试

    # 第一种写法
    test option file
    
    
    # 第二种写法
    [ option file ]
    
    

    option

    操作符 说明
    -a file 文件是否存在,如果存在,如果是测试成功
    -b file 文件是否存在,且为块文件,如果是测试成功
    -c file 文件是否存在,且为字符文件,如果是测试成功
    -d file 文件是否存在,且为目录,如果是测试成功
    -s file 文件是否为非空文件,如果是测试成功
    -f file 文件是否存在,且为常规文件,如果是测试成功
    -w file 文件是否存在,且为可写文件,如果是测试成功
    -r file 文件是否存在,且为可读文件,如果是测试成功
    -x file 文件是否存在,且为可执行文件,如果是测试成功

    实例


    连接多个条件测试语句的符号

    操作符 说明
    ! not
    -a and
    -o or

    实例

    更加直观 &&|| 符号的使用


    二、判断语句

    if语句

    if expression1 
    then
        code...
    elif expression2
    then
        code...
    elif expression3
    then
        code...
    else
        code...
    fi
    
    

    可以使用exit语句来退出

    实例

    #! /bin/zsh
    
    echo "Please enter a number"
    
    read num
    
    if [ "${num}" -eq 10 ];then
        echo "输入的数字等于10"
    elif [ "${num}" -gt 10 ];then
        echo "输入的数字大于10"
    elif [ "${num}" -lt 10 ];then
        echo "输入的数字小于10"
    else
        echo "输入的不是数字"
    fi
    

    case语句

    case variable in 
        value1)
            code;;
        value2)
            code;;
    esac
    
    

    实例

    echo "输入一个编码,返回分类"
    
    read score
    
    case "${score}" in
        "0101")
            echo "外墙砖";;
        "0102")
            echo "仿古砖";;
        "0103")
            echo "抛光砖";;
    esac
    

    相关文章

      网友评论

          本文标题:shell 3. 条件测试和判断语句

          本文链接:https://www.haomeiwen.com/subject/skkmnrtx.html