shell编程之 if 判断语句

    • 判断语句介绍 - if
      • 单if 语句(一个条件一个判断结果)
      • if..else 语句(一个条件两个判断结果)
      • if..elif..else 语句(多条件多个判断结果)
      • if嵌套if 语句
  • if 和命令的操作

判断语句介绍 - if

当编写程序时,需要对上一步执行代码是否执行成功进行判断,可以用if语句进行判断。通过查看if语句执行的判断结果查看代码是否执行成功

当满足条件的代码块中有exit ,表示退出脚本执行

注意: 注意if[]有空格,[]condition也有空格隔开,运算符也有空格。缩进可以任意缩进

单if 语句(一个条件一个判断结果)

适用范围: 一步判断,对给定的条件进行判断,条件返回Ture执行Ture语句,条件为False则不执行单if语句

if语法格式:

在脚本中:if [ condition ]     =>  true or falsethen           =>  条件为ture时执行commands代码块commands       =>  代码块,一行或者多行代码。fi                      =>  if语句结束
#l 备注:在代码块中加入一行"exit 8",即结束脚本,后面的代码不再执行在终端中:#if [ condition ]; then commands; fi

单if 语句流程图:

if…else 语句(一个条件两个判断结果)

适用范围: 两步判断,对给定的条件进行判断,条件返回Ture执行Ture语句,条件为False执行else语句。

if.else语法格式:

if [ condition ]then         =>  条件为真,执行commands1commands1
else                =>  条件为假,执行commands2command2
fi

if…else 语句流程图:

if…elif…else 语句(多条件多个判断结果)

使用范围: 多用于两个以上的条件进行判断结果

条件从上至下进行判断,满足则执行条件下的语句并结束if判断。若都不满足则执行else的语句

else 这个条件不写也可以

if…elif…if 语法格式:

if [ condition1 ]        =>  判断是否满足条件1,满足执行commands1,结束判断thencommands1
elif [ condition2 ]     =>  当不满足条件1,判断是否满足条件2,满足执行commands2,结束判断thencommands2
...
//else                  =>  若上面的条件都不满足,则 执行else下的commandsx
//  commandsx           =>  可以不写
fi  #l 备注:多条件判断之间存在包容关系,需要从最严格的条件开始判断,比如:判断系统内存使用率:60%           警告70%           严重警告80%         发邮件60%以下        打印使用率如果第一个条件判断是60%,那么70、80都符合第一个条件。后面的条件判断就没有意义了,因为高于60就执行警告,后面条件不执行了

if…elif…else 语句流程图:

if嵌套if 语句

适用范围: 当有多条判断时,可以使用if嵌套

if 条件判断成功,执行if 嵌套内容,否则执行else语句

编写的时候呀从外往里编写

if嵌套if 语句格式:

if [ condition1 ]thenif [ condition2 ]       =>  当条件1满足,判断条件2是否满足,满足执行commands1thencommands1...else                    =>  条件2不满足执行commands2commands2fi
else                    =>  当条件1不满足执行commands3commands3
fi或if [ condition1 ]        =>  当条件1满足,执行commands1thencommands1
else        if [ condition2 ]   =>  当条件1不满足,条件2满足时,执行条件3thenif [ condition3 ]     =>  当条件1不满足,条件23满足时,执行commands3thencommands3else              =>  当条件1不满足,条件2满足时且条件3不满足,执行commands4commands4fi  ...else         =>  当条件1和2都不满足时,执行commands5commands5fi
fi

if 和命令的操作

  • 系统会执行命令的操作,加入命令执行成功进入下一步操作

  • !选项代表非

  • 通过 echo $?查看,如果返回0表示执行成功,返回其他表示执行不成功

语法:
#   if options (命令)
#       then
#           command
#   fioptions说明:!:表示命令执行不成功,则执行command

shell编程之 if 判断语句相关推荐

  1. shell编程之if判断总结

    最近常接触shell脚本,作为shell编程学习总结的第一篇,常用的if判断. 一.if的基本语法: if [ command ];then    符合该条件执行的语句 elif [ command ...

  2. Linux第三章:shell编程之for循环语句

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.for循环语句 1.什么是for语句 2.for语句中常用转义字符 二.for语句应用示例 1.计算从1到100所有整数 ...

  3. Shell编程之for循环语句

    文章目录 1 for语句的结构 1.1 seq命令 1.2 set -x 查看详细步骤命令 1 for语句的结构 读取不同的变量值,用来逐个执行同一组命令 实例 i为变量名 {1-6}为取值列表 1. ...

  4. 详解Shell编程之if语句实战(小结)

    本篇文章主要介绍了详解Shell编程之if语句实战(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 对于if语句,其实很多人都肯定的听说过,那么if语句到底是什么, ...

  5. shell编程之case语句及函数

    shell编程之case语句 文章目录 shell编程之case语句 一.case语句 1. 语法结构 2. 应用案例 二.函数 1. 什么是函数? 2. 如何定义函数? 3. 函数如何调用? ㈠ 当 ...

  6. linux下简单的shellfor循环程序,对Linux下shell编程之for循环的实例讲解

    对Linux下shell编程之for循环的实例讲解 linux 下 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致 一.常用for循环结构 #语法一 ...

  7. 【shell编程之expr的使用】

    shell编程之expr的使用 语法格式 获取expr运算的结果 expr进行算数运算 expr进行字符串的处理 练习 expr是一个shell命令,可以使用man expr查看命令的帮助手册 语法格 ...

  8. shell编程之条件判断语句和流程控制语句

    shell条件判断语句和流程控制语句 文章目录 shell条件判断语句和流程控制语句 一.条件判断语法结构 1. 条件判断语法格式 2. 条件判断相关参数 二.流程控制语句 1. 基本语法结构 2. ...

  9. SHELL编程之CASE语句+函数+正则

    case语句 一.case语句 案例1 案例2 课堂练习1 二.函数 2.1 函数定义 2.2 函数的调用 2.3 应用案例 三.综合案例 四.正则表达式 1. 什么是正则表达式 2. 第一类正则 3 ...

最新文章

  1. ARTS打卡计划第二周-Share-使用java注解对方法计时
  2. 外网无法ip访问服务器解决方法 (原)
  3. 全球及中国便携式卧式空压机行业前景动态与投资趋势分析报告2022版
  4. 微机原理及接口技术-6
  5. java hbase 批量查询数据_HBase根据Rowkey批量查询数据JAVA API(一次查多条,返回多个记录)...
  6. SAP Cloud for Customer的inscreen_dataflow处理方式
  7. python描述器descriptor_Python 黑魔法 --- 描述器(descriptor)
  8. OC中解析对象(json)
  9. HPU--1392 分隔A+B
  10. 深度学习神经网络的预测间隔
  11. [2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural
  12. 从入门到入土:Python实现爬取网易云歌词|评论生成词云图
  13. 互联网营销,不同阶层的人脉关系,对你真的有用吗?
  14. 怎么讲计算机e盘设置共享,共享盘怎么设置(电脑如何设置共享盘)
  15. mkv视频怎么转成mp4?
  16. windows系统下多个程序窗口快速切换的方法
  17. 阿里大数据之路:数据管理篇大总结
  18. 途牛android源码,途牛,Android 开发工程师,一面,攒人品
  19. Jenkin前端项目部署----远程服务
  20. 【3d建模】zbrush教程非常适合零基础入门,一学就会

热门文章

  1. 花城FM|“温暖童心 点亮花城”:打造在穗青少年心灵温馨庇护所
  2. 开始学习 IOS 开发,学习环境搭建
  3. 支付宝app在线支付
  4. Java中一个接口可以继承多个接口吗?接口继承接口使用extends关键字
  5. 无线通信课程简答题答案,你能解释几个?
  6. 不懂任何VBA代码,也可实现数据透视表自动更新
  7. vim ide vimplus搭建踩坑
  8. 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“No appropriate protocol (protocol is disabled or ciph
  9. 微信支付 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
  10. 科比再发声谴责斯特林:他不该再当快船老板