输入参数包含 'arg-m' 时,会输出 Hit Arg-M 和 Hit Arg-N

[[ ${EXEC_PARAMS[@]} =~ 'arg-m' ]] && echo "Hit Arg-M" ||
[[ ${EXEC_PARAMS[@]} =~ 'arg-n' ]] && echo "Hit Arg-N" ||
echo "Oh Shit"

可实现多级判断

[[ ${EXEC_PARAMS[@]} =~ 'arg-m' ]] && echo "Hit Arg-M" || {
[[ ${EXEC_PARAMS[@]} =~ 'arg-n' ]] && echo "Hit Arg-N" ||
echo "Oh Shit"
}

入参2为 '-i' 则输出 a、b、d,入参2为 '-a' 则输出 a、c,入参2为非 '-i'  '-a' 则输出 a、d

[ $2 ] && {
echo "a"
[ $2 = '-i' ] && {
echo "b"
}
[ $2 = '-a' ] && {
echo "c"
}
} || echo "d"

入参2为 '-i' 则输出 a、b,入参2为 '-a' 则输出 a、c,入参2为非 '-i'  '-a' 则输出 a、d

[ $2 ] && {
echo "a"
[ $2 = '-i' ] && {
echo "b"
} || {
[ $2 = '-a' ] && {
echo "c"
}
}
} || echo "d"

本质是逻辑符 '&&' '||' 结合项规则

项值为真则执行语句中的逻辑与,为假则执行语句中的逻辑或,逻辑性是单语句传递,后一句是否执行仅依赖前一句,与前前前语句无关,即 '&&' 的后一句是否执行取决于前一句是否为真, '||' 的后一句是否执行取决于前一句是否为假

【SHELL】[ ]、[[ ]]条件判断结构的更多相关文章

  1. shell条件测试结构

    条件测试结构 if/then结构用来判断命令列表的退出状态码是否为0(因为在UNIX惯例, 0表示"成功"), 如果成功的话, 那么就执行接下来的一个或多个命令. 有一个专有命令[ ...

  2. [Shell]条件判断与流程控制:if, case, for, while, until

    ---------------------------------------------------------------------------------------------------- ...

  3. shell条件判断if中的-a到-z的意思

    [ -a FILE ]  如果 FILE 存在则为真.  [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.  [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则 ...

  4. Oracle IF-ELSE 条件判断结构

    1. IF 语法 IF 表达式 THEN ... END IF; 例如: set serverout on declare v_name varchar2(20):='&name'; begi ...

  5. shell条件判断与流程控制

    一 条件判断式语句 1.按文件类型进行判断 测试类型 作用 -b 文件 判断文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断文件是否存在,并且是否为字符设备文件(是字符设备设备 ...

  6. shell 条件判断语句整理

    常用系统变量 1)         $0 当前程式的名称 2)         $n 当前程式的第n个参数,n=1,2,…9 3)         $* 当前程式的任何参数(不包括程式本身) 4)   ...

  7. LINUX SHELL条件判断

    算术运算的条件判断 [] [[]]: -eq -ne -lt -le -gt -ge (( )):><>=<== [root@monitor ~]# if (( 2 == 3) ...

  8. Oracle IF-ELSE条件判断结构

    关于条件判断的几个函数: 一.IF-ELSE 判断语句1.IF 语法 IF 表达式 THEN ... END IF; 输入账号名 kiki 以登陆账号 declare v_name ):='& ...

  9. Shell条件判断(6)- 多重条件判断

    多重条件判断 多个条件判断一起使用 测试选项 作用 判断1 -a 判断2 逻辑与,判断1和判断2都成立,最终的结果才为真 判断1 -o 判断2 逻辑或,判断1和判断2有一个成立,最终的结果就为真 ! ...

  10. linux shell 条件判断if else, if elif else....

    在linux的shell中 if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句: if ... else ... ...

随机推荐

  1. 神经网络优化篇:如何理解 dropout(Understanding Dropout)

    理解 dropout Dropout可以随机删除网络中的神经单元,为什么可以通过正则化发挥如此大的作用呢? 直观上理解:不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传 ...

  2. Docker部署系列之Docker Compose安装Redis三主三从集群

    总结/朱季谦 在日常开发或者编程当中,经常需要用到redis集群,若是按照传统的方式,一个机器一个机器搭建,难免过于繁琐,故而可以通过dock er-compose编排方式,快速搭建.我在搭建过程当中 ...

  3. 从零玩转Java和word模板-从零玩转java和word模板

    title: 从零玩转Java和word模板 date: 2021-12-22 18:38:14.086 updated: 2021-12-22 18:38:14.086 url: https://w ...

  4. 【笔记】负载均衡Robbin之不同服务使用不同的策略

    裂开裂开,搞这么久忘记导入依赖 妈卖批 又不报错 还能让我玩 我以为全部导入了. 话不多说,开始演示. 介绍 给不同的服务 配置 不同的 负载均衡策略 这里使用 用户模块 进行访问其它两个模块的con ...

  5. Pikachu漏洞靶场 Unsafe Filedownload(不安全的文件下载)

    不安全的文件下载 概述 文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后会开始执行下载代码,将该文 ...

  6. Cesium案例解析(十)——CZML点

    目录 1. 概述 2. 案例 3. 结果 1. 概述 CZML是Cesium中用于描述动态图形场景的JSON格式,它们的关系类似于Google Earth与KML之间的关系,一般会认为KML是一种矢量 ...

  7. 数仓性能优化:倾斜优化-表达式计算倾斜的hint优化

    本文分享自华为云社区<GaussDB(DWS)性能调优:倾斜优化-表达式计算倾斜的hint优化>,作者: 譡里个檔 . 1.原始SQL SELECT TMP4.TAX_AMT, CATE. ...

  8. AI推理实践丨多路极致性能目标检测最佳实践设计解密

    摘要:基于CANN的多路极致性能目标检测最佳实践设计解密. 本文分享自华为云社区<基于CANN的AI推理最佳实践丨多路极致性能目标检测应用设计解密>,作者: 昇腾CANN . 当前人工智能 ...

  9. LiteOS基于Sensorhub的超声波模组移植

    摘要:本文为你带来LiteOS基于Sensorhub的超声波模组移植的应用. 1.Sensor Hub LiteOS传感框架即Sensor Hub,是一个基于Huawei LiteOS物联网操作系统的 ...

  10. 云图说|ROMA演进史:一个ROMA与应用之间不得不说的故事

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 华为云ROMA源 ...