5.Shell中的判断if、case

if选择结构:
    if单分支处理
        if [ 条件测试 ];then
            执行命令
        fi
    
———————————————————————————————————————————
    
    if双分支处理,如果满足if的条件测试,则执行命令1,不满足执行命令2
        if [ 条件测试 ];then
            执行命令1    #如果符合条件则执行这个,下面的不执行
        else
            执行命令2    #如果不符合条件则执行这个
        fi            
    
———————————————————————————————————————————


    if多分支处理,elif可以是多个
        if [ 条件测试1 ];then
            执行命令1        #如果符合条件1执行这个命令,不执行下列判断了
        elif [ 条件测试2 ];then
            执行命令2        #如果符合条件2执行这个命令,这个elif条件测试可以有多个,匹配上,就不执行下列判断了
        else    
            执行命令3        #如果不符合以上所有条件则执行这个命令
        fi
        
例如:
    shell脚本中人为定义错误输出:
    可以利用 >&2 和 exit 的返回值
    例:
    if [ $# -eq 0 ];then
     echo "您没有输入参数" >&2          #将其定义为错误输出
     exit 2                             #还要定义这个错误输出的返回值,只有返回值是非0才是异常
    fi
    在终端执行完这个脚本,再 echo $? 可以看到输出一个数字2,说明系统已经认定这次执行结果为错误了。

——————————————————————————————————————————

case选择结构:
    case 变量 in         #这里的变量可以是位置变量,也可以各种其他变量,和for还是有些区别,for可以指定次数,case通常与位置变量连用
    第1个匹配值)        #如果变量的值=第1个匹配值,执行这里的命令
        命令...;;
    第2个匹配值)
        命令...    ;;
    第3个匹配值|第4个匹配值)    #如果变量的值=第3个和第4个匹配值,都执行这里的命令
        命令...;;
    *)        #代表最后一个循环,变量的值与所有的上面的不匹配,走这里,这里是全匹配
        命令...    
        命令
            #最后*)里的所有命令不要写;;
    esac
    
    例如:
        #!/bin/bash
        case $1 in
        haha)
            echo $1 1;;
        xixi)
            echo $1 2;;
        aa|bb)
            echo $1 3;;
        *)
            echo failed
        esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值