首页 > 系统服务 > 详细

shell编程之条件语句

时间:2021-07-16 15:28:32      阅读:20      评论:0      收藏:0      [点我收藏+]

一、条件测试

Shell 环境根据命令执行后的返回状态值($?) 来判断是否执行成功
当返回值为0 (真true)时表示成功,返回值为非0 值(假false) 时表示失败或异常,test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立($?返回值为0表示条件成立)

 

1、test命令 测试

测试表达式是否成立,若成立返回0,否则返回其他数值

格式1:test 条件表达式

格式2:[ 条件表达式 ]   #至少有一个空格

 

技术分享图片

注:返回0表示成立,非0值表示条件不成立

2、文件测试

[ 操作符 文件或目录 ]

 

常用的测试操作符

  • -d: 测试是否为目录(Directory)
  • -e: 测试目录或文件是否存在(Exist)
  • -f: 测试是否为文件(File)
  • -r: 测试当前用户是否有权限读取(Read)
  • -W: 测试当前用户是否有权限写入(Write)
  • -X: 测试当前用户是否有权限执行(eXcute)
  • -L: 测试是否为符号链接

技术分享图片

技术分享图片

技术分享图片

3、整数值比较

[ 整数1 操作符 整数2 ]

 

常用的测试操作符

  • -eq: 等于(Equal)
  • -ne: 不等于(Not Equal)
  • -gt: 大于(Greater Than)
  • -lt: 小于(Lesser Than)
  • -le: 小于或等于(Lesser or Equal)
  • -ge: 大于或等于(Greater or Equal)

技术分享图片

技术分享图片

技术分享图片

4、字符串比较

格式1
[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]

格式2
[ -z 字符串 ] #是否空值
[ -n 字符串 ] # 字符集是否存在

 

常用的测试操作符

  • =: 字符串内容相同
  • !=: 字符串内容不同,! 号表示相反的意思
  • -z: 字符串内容为空

技术分享图片

技术分享图片

技术分享图片

5、逻辑测试

格式1:[ 表达式 1 ] 操作符 [ 表达式2 ]...
格式2:命令1 操作符 命令2 ...

 

常用的测试操作符

  • -a或&&: 逻辑与,‘‘而且’ 的意思.
  • -o或||: 逻辑或,“或者” 的意思
  • !: 逻辑否

技术分享图片

技术分享图片

技术分享图片

技术分享图片

? &&、|| 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错

? || 操作符 如果前面的表达式条件成立,不会去管,不成立就会输出

vim ping.sh

技术分享图片

技术分享图片

二、if语句的结构

单分支结构

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

双分支结构

技术分享图片

技术分享图片

技术分享图片

多分支结构

技术分享图片

技术分享图片

技术分享图片

三、case语句结构

case多分支结构

技术分享图片

技术分享图片

技术分享图片

总结

  • 条件测试的语法

文件测试、整数值比较、字符串比较、逻辑测试

  • if条件语句的语法

单分支、双分支、多分支

  • case多分支语句的语法

shell编程之条件语句

原文:https://www.cnblogs.com/lsq66/p/15014622.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!