目录
1.1条件测试操作
test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式
格式2:[条件表达式]
1.2条件测试操作
文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-X:测试当前用户是否有权限执行(eXcute)
-L:测试是否为符号链接
属性测试补充
-s FILE#是否存在且非空
-t fd #fd文件描述符是否在某终端已经打开
-N FILE #文件自从上一次被读取之后是否被修改过
-O FILE#当前有效用户是否为文件属主
-G FILE #当前有效用户是否为文件属组
1.3条件测试操作
整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)
1.4条件测试操作
字符 串比较
格式1 [ 字符串1 = 字符串2 ]
[ 字符串1 = 字符串2 ]
格式2 [ -z 字符串 ]
常用的测试操作符
=: 字符串内容相同
!=: 字符串内容不同、!号表示相反的意思
-z:字符串内容为空
1.5条件测试操作
逻辑测试
格式1 [ 表达式1 ] 操作符 [ 表达式 ] ...
格式2 命令1 操作符 命令2 ...
常用的测试操作符
-a或&& :逻辑与, "而且" 的意思
-o或|| :逻辑或,"或者" 的意思
!: 逻辑否
1.1if语句的结构
单分支结构
if 条件测试操作
then 命令序列
fi
-------------------------
if 已用磁盘空间>80%
then 报警
fi
1.2if语句的结构
if 条件测试操作
then 命令序列1
else 命令序列2
fi
-----------------------
if 80断口是否在监听
then 网站服务已在运行
else 启动httpd服务
fi
1.3if语句的结构
if 条件测试操作1
then 命令序列1
elif 条件测试操作
then 命令序列2
else
命令序列3
fi
------------------------------
if 分数为85-100之间
then判为优秀
elif 分数为70-84之间
then判断合格
esle
判为不合格
fi
case语句结构
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列1
;;
......
*)
默认命令序列
esac
------------------------------------------------
case 分数 in
85~100)
判为优秀
;;
70~84)
判为合格
;;
........
*)
判为不合格
esac