day21-20200630
p85.条件判断

文件类型进行判断,以下为常用的。
-d 是否存在,并且为目录才返回
-e 判断文件是否存在
-f 是否存在,并且为普通文件才返回

判断有两种方式,【test -e 文件】和【[-e 文件]】,脚本里面常用的为第二种方式。

【$?】上一条命令结果的判断,0正确,非0 错误。
跟着兄弟连系统学习Linux-【day21】_第1张图片

举例:判断一个目录或者文件是否存在。
注意。用[ ]中括号的时候左右都要要加上空格,不然不会被识别。
跟着兄弟连系统学习Linux-【day21】

文件权限进行判断,以下为常用的。

-r -w -x 读写执行权限
【[ -w 文件]】是否有执行权限,不会区分所有者所属人的身份,只要三个有一个满足就可以了。

两个文件之间比较

【文件1 -nt 文件2】文件1比文件2新
【文件1 -ot 文件2】文件1比文件2旧
【文件1 -ef 文件2】文件id是否相同

跟着兄弟连系统学习Linux-【day21】_第2张图片

两个整数之间比较
【整数1 -eq 整数2】 是否相等,相等为真
【整数1 -ne 整数2】 是否不相等,不相等为真
【整数1 -gt 整数2】 1是否>2,大于为真
【整数1 -lt 整数2】 小于为真
【整数1 -ge 整数2】大于等于为真
【整数1 -le 整数2】 小于等于为真

【[ 23 gt 22 ] && echo yes || echo no】

字符串的判断
【-z 字符串】是否为空,为空返回真
【-n 字符串】是否为非空,非空返回真
【字符串1 == 字符串2】相等返回真
【字符串1 != 字符串2】不等返回真

跟着兄弟连系统学习Linux-【day21】_第3张图片

多重条件判断

【判断1 -a 判断2】逻辑与
【判断1 -o 判断2】逻辑或
【!判断】非

p86.流程控制-if语句

单分支语句
格式

if [条件] ; then
程序
fi

或者这样

if [条件]
then
程序
fi

注意,if开头,fi结尾。
举例:写一个脚本,判断服务器根分区,磁盘空间使用情况,实际应用中是通过发送邮件的形式。

跟着兄弟连系统学习Linux-【day21】_第4张图片

跟着兄弟连系统学习Linux-【day21】

双分支语句

if [条件]
then
程序
else
条件不成立时
fi

备份很重要哦!!!

举例:备份文件夹

跟着兄弟连系统学习Linux-【day21】_第5张图片
跟着兄弟连系统学习Linux-【day21】_第6张图片

举例:判断apache是否启动
跟着兄弟连系统学习Linux-【day21】_第7张图片

跟着兄弟连系统学习Linux-【day21】_第8张图片

多分支语句

if [条件1]
then
程序
elif [条件2]
then
程序
else
条件不成立时
fi

跟着兄弟连系统学习Linux-【day21】_第9张图片