第七章 Shell脚本应用(二)

条件测试操作
1.test命令
测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值

2.文件测试
常用的测试操作符
-d:测试是否为目录(Directory)

-e:测试目录或文件是否存在(Exist)

-f:测试是否为文件(File)

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

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

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

在这里插入图片描述
返回0表示条件成立

在这里插入图片描述

返回1表示条件不成立

在这里插入图片描述
逻辑与,“而且”的意思

3.整数值比较
常用的测试操作符
-eq:等于(Equal)

-ne:不等于(Not Equal)

-gt:大于(Greater Than)

-lt:小于(Lesser Than)

-le:小于或等于(Lesser or Equal)

-ge:大于或等于(Greater or Equal)

在这里插入图片描述查看所在的用户

在这里插入图片描述
用户数是否 > 5

在这里插入图片描述
用户数是否 >= 10

在这里插入图片描述
查看空内存的第4段

在这里插入图片描述
空闲内存是否 < 1024MB

4.字符串比较
常用的测试操作符
=:字符串内容相同

!=:字符串内容不同,! 号表示相反的意思

-z:字符串内容为空

在这里插入图片描述
测试当前语言环境

在这里插入图片描述

不是Not en.US,而是zh_CN.UTF-8

在这里插入图片描述

是否覆盖现有文件(yes/no)?

在这里插入图片描述

覆盖成功

5.逻辑测试
常用的测试操作符
-a或&&:逻辑与,“而且”的意思

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

!:逻辑否

在这里插入图片描述
测试当前用户名称

在这里插入图片描述

本主机是否有szt

在这里插入图片描述
如何测试/media/cdrom目录是否存在?

在这里插入图片描述
查询当前的活动进程数,并测试是否小于100?

3.如何测试是否已安装python软件包?

在这里插入图片描述
installed 表示存在成立
not installed 表示不存在不成立

4.扩展:编辑脚本szt.sh
用来判断软件是否安装,如果已安装输出“此软件已安装”,如果未安装则进行安装

在这里插入图片描述

1.创建目录/tmp/scripts 2.切换工作目录至此目录中 3.复制/etc/pam.d目录至当前目录,并重命名为szt 4.将当前目录的szt及其里面的文件和子目录的属主改为redhat 5.将szt及其子目录中的文件的其它用户的权限改为没有任何权限