第七章、shell脚本应用(2)

shell脚本应用

简介:
在简单的shell 脚本程序中,各条语句将按先后顺序依次执行,从而实现批处理的自动化过程。然而,单一的顺序结构使得脚本过于机械化,不够“智能”,难以处理更加灵活的系统任务。
本章将学习如何进行条件测试操作,并通过正确使用if语句,使shell脚本具有一定的“判断”能力,以根据不同的条件来完成不同的管理任务。
在这里插入图片描述
一、条件测试
1、条件测试的作用和条件测试的语法
1)条件测试的作用
进行判断
真返回为0
假返回为非0
2)条件测试语法两种
1.test 测试条件
2.[ 条件 ]
3)常见的测试操作符
-d:是否是目录
-f:是否是文件
-w:是否有写入权限
-x:是否有执行权限
-r:是否有读取权限
-e:测试文件目录是否存在
2、test条件测试的基本使用
1)盘/mnt 是否是目录,是目录显示“yes”不是为空不显示
在这里插入图片描述
2)判断对/mnt 目录是否拥有写入权限
在这里插入图片描述
3)判断是否有写入权限
在这里插入图片描述
3、整数比较
1)常见的比较运算符
-gt:大于 -lt:小于 -ge:大于等于
-le:小于等于 -eq:等于 -ne:不等于
2)判断是否相等,相等显示YES
在这里插入图片描述
3)判断历史命令小于100显示YES
在这里插入图片描述
4、字符串比较
1)字符串比较的操作符
=:等于 !=:不等于 -Z:判断是否为空
2)判断第一个字符串和第二个字符串是否一致,一直显示YES
在这里插入图片描述
3)判断系统是否是中文,是中文显示YES
在这里插入图片描述
5、逻辑测试
1)逻辑测试操作符
&&:而且,或者使用-a,表示两个结果必须全部为真
||:或,或者使用-o,表示两个结果匹配任意一个为真
!:否,取反不成立显示为真
2)使用“而且”进行判断
在这里插入图片描述
3)使用“或”进行判断(/etc是目录,1.txt不存在或不是文件,只有一个结果匹配,所以||判断为YES)
在这里插入图片描述
二、判断
1、if 单分支
1)if 单分支语法结构
if [ 条件 ]
then
执行命令序列
fi(结束退出)
2)单分支特点
满足条件执行命令序列
不满足条件退出
3)判断/media 目录是否存在,存在显示YES
在这里插入图片描述
4)media目录不存在,创建
在这里插入图片描述
2、双分支 if 判断
1)双分支语法结构
if [ 条件 ]
then
命令序列
else
命令序列
fi
2)判断/test目录是否存在,存在显示已存在,不存在创建目录(第一次运行脚本判断没有test目录所以自动创建,第二遍运行已存在所以显示已存在)
在这里插入图片描述
3、if 多分支
1)if多分支语法结构
if [ 条件1 ]
then
命令序列1
elif [ 条件2 ]
then
命令序列2
else
命令序列3
fi
2)判断学生查询的成绩
在这里插入图片描述
在这里插入图片描述