Linux:shell脚本条件语句

目录

一、text命令

二、比较整数数值

三、字符串比较

四、逻辑测试 

五、双中括号

六、if语句 

七、case语句


一、text命令

格式1:test  条件表达式
格式2:[  条件表达式  ]
注意[]空格,否则会失败
测试 是否成功使用 $?  返回值

常见的测试操作符 含义
-d 测试是否为目录(directory)
-e 测试目录或文件是否存在(Exist)
-f 测试是否为文件(File)
-r 测试当前用户是否有权限读取(Read)
-w 测试当前用户是否有权限写入(Write)
-x 测试当前用户是否有权限执行(eXcute
-L 测试是否为软连接文件

Linux:shell脚本条件语句_第1张图片

 Linux:shell脚本条件语句_第2张图片

 

Linux:shell脚本条件语句_第3张图片 

 

二、比较整数数值

[ 整数1 操作符 整数2 ] 公式

  • -eq:第一个数等于(Equal)第二个数

  • -ne:第一个数不等于(Not Equal)第二个数

  • -gt:第一个数大于(Greater Than)第二个数

  • -lt:第一个数小于(Lesser Than)第二个数

  • -le:第一个数小于或等于(Lesser or Equal)第二个数

  • -ge:第一个数大于或等于(Greater or Equal)第二个数

Linux:shell脚本条件语句_第4张图片 

 三、字符串比较

[ 字符串1 = 字符串2 ] 是否相同

[ 字符串1 != 字符串2 ] 是否不相同

[ -z 字符串 ] 是否为空

[ -n 字符串 ] 字符是否存在

Linux:shell脚本条件语句_第5张图片

 

 

四、逻辑测试 

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

格式2:命令1 操作符 命令2 ...

常见条件

  • -a或&&:逻辑与,“而且”的意思全真才为真

  • -o或||:逻辑或,“或者”的意思一真即为真

  • !:逻辑否

Linux:shell脚本条件语句_第6张图片

短路与 && 或||

 ping小脚本:

-c 发送包的个数
-i 发送的间隔时间
-W 超时时间
-w 多少秒后停止ping操作

Linux:shell脚本条件语句_第7张图片

Linux:shell脚本条件语句_第8张图片

 

 小脚本:检测磁盘Linux:shell脚本条件语句_第9张图片

 

 

五、双中括号

[[ expression ]] 用法
== 左侧字符串是否和右侧的PATTERN相同
 注意:此表达式用于[[ ]]中,PATTERN为通配符
=~ 左侧字符串是否能够被右侧的正则表达式的PATTERN所匹配
 注意: 此表达式用于[[ ]]中;扩展的正则表达式

 

 

六、if语句 

格式: if 条件测试操作

then 命令顺序1

else 命令顺序2

fi分支语句

小脚本:http 

Linux:shell脚本条件语句_第10张图片

小脚本:成绩单

Linux:shell脚本条件语句_第11张图片

Linux:shell脚本条件语句_第12张图片

 

 七、case语句

  • 格式: case 变量值 in
  • 模式1) 命令序列1
  • ;;
  • 模式2)
  • 命令序列2
  • ;;
  • * 默认命令序列
  • esac

 Linux:shell脚本条件语句_第13张图片

 Linux:shell脚本条件语句_第14张图片

 

 

你可能感兴趣的:(算法)