Shell脚本理论篇2——条件测试&IF判断

条件测试

上一篇博客我们提到了预定义变量中有个$?变量用于判断命令是否执行成功。那么如何使用呢?

这时候就需要专门的测试工具——test命令,对特定条件进行测试,并使用$?对返回值进行判断,其命令形式如下:

test 条件表达式

&

[ 条件表达式 ] //更为常用

注意: 中括号“[”和“]”与条件表达式之间均需要使用空格隔开,否则会出现错误!!

一、文件测试

格式:

[ 操作符 文件或目录 ]

常用操作符:

-d: 测试是否为目录

-e: 测试文件/目录是否存在

-f: 测试是否为文件

-r: 测试当前用户是否拥有读取权限

-w: 测试当前用户是否拥有写入权限

-x: 测试当前用户是否拥有执行权限

使用方法:

Shell脚本(条件测试&IF判断)——理论篇2_第1张图片

二、整数值测试

格式:

[ 整数1 操作数 整数2 ]

常用操作符

-eq: 等于

-ne: 不等于

-gt: 大于

-lt: 小于

-le: 小于等于

-ge: 大于等于

使用方法:

Shell脚本(条件测试&IF判断)——理论篇2_第2张图片

三、字符串测试

格式:

[ 字符串1 操作符 字符串2 ]

[ -z 字符串 ] //判断字符串内容是否为空

常用操作符:

=: 字符串内容相同

!=: 字符串内容不同

使用方法:

Shell脚本(条件测试&IF判断)——理论篇2_第3张图片

四、逻辑测试

格式:

[ 表达式1 ] 操作符 [ 表达式2 ]

&

命令1 操作符 命令2

常用测试符:

-a或&&: 逻辑与,“而且”的意思

-o或||: 逻辑或,“或者”的意思

!: 逻辑否,结论取反

使用方法:

Shell脚本(条件测试&IF判断)——理论篇2_第4张图片

IF语句判断

单分支结构

格式:

if 条件测试操作

​ then 命令序列

fi

结构流程图:

Shell脚本(条件测试&IF判断)——理论篇2_第5张图片

双分支结构

格式:

if 条件测试操作

​ then 命令序列1

​ else 命令序列2

fi

结构流程图:

Shell脚本(条件测试&IF判断)——理论篇2_第6张图片

多分支结构

格式:

if 条件测试操作1

​ then 命令序列1

elif 条件测试操作2

​ then 命令序列2

else 命令序列3

fi

结构流程图:

Shell脚本(条件测试&IF判断)——理论篇2_第7张图片

未完待续~~~~