Shell 三目运算(详细案例)

  • 在其他语法中常见的三目运算方式:

    表达式 ? 表达式 : 表达式 ;
    
  • shell 中也有类似的方式:

    command1 && command2 || command3
    

    如果 command 是一连串的组合,那么可以使用 { }commands 括起来。注意:代码块若用在函数中, { } 最后一个必须是 ;

    command1 && { command2_1; command2_2; command2_3; } || { command3_1; command3_3; command3_3; }
    
  • 举例

    #!/bin/bash
    
    res="mp-weixin"
    
    iswx=$([[ $res =~ "weixin" ]] && echo 1 || echo 0)
    
    echo "$iswx"
    
    # fileName 文件不存在,则退出,就可以按照下面方式执行
    [ -e $fileName ] || { echo -e "fileName Not existed!"; exit 1; }
    
    #也或者可以增加一些 log 打印信息
    [ -e $fileName ] && echo -e "$fileName existed" || { echo -e "$fileName Not existed!"; exit 1; }
    
    #多个命令集合的组合
    [ -e $fileName ] && echo -e "$fileName existed"; ehco -e "Other Necessary Information" || { echo -e "$fileName Not existed!"; exit 1; }
    [ -e $fileName ] && { echo -e "$fileName existed"; ehco -e "Other Necessary Information"; } || { echo -e "$fileName Not existed!"; exit 1; }
    
    #读取IP地址,若为空,则使用默认IP,否则使用新的IP地址
    read -p "Please input Management IP (Default is $DEFAULT_IP): " MGMT_IP 
    [[ -z $MGMT_IP ]] && { MGMT_IP=$DEFAULT_IP; echo -e "Using default IP $MGMT_IP\n" ;} || DEFAULT_IP=$MGMT_IP
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值