条件测试
1 )条件测试的作用
判断真或者假,一般判断作为脚本运行的条件
2 )条件测试的特点
条件测试结果为真或者假
通过条件判断决定运行脚本或者停止脚本运行
2、使用条件测试的语法结构
1 ) test
test 条件表达式
3、文件测试
1 )文件测试常见的选项
-d :判断是否为目录
-f :判断是否是文件
-e :测试目录或者文件是否存在
-r :测试用户对文件或者目绿是否有读取权限
-w :测试用户对文件或者目录有写入权限
-x :测试用户对文件目录是否有执行权限
测试/etc是否是一 个目录
[ -d /etc]测试etc是否是目录
echo$? 查看测试结果0正确非零错误
使用test命令测试
[[email protected] ~]# test -d /etc/ 测试etc是否是目录
[[email protected] ~]# echo $? 显示测试结果
使用条件测试直接显示结果
[[email protected] ~]# [ -d /etc ] && echo “True” 测试为真显示True
整数值的比较
整数值比较常见的选项
-eq :等于
-ne :不等于
-gt:大于
-It :小于
-le :小于等于:
-ge :大于等于
判断10是否大于5 ,条件判断成功显示True
[[email protected] ~]# [ 10 -gt 5 ] && echo “true”
判断登录系统的账户
字符串比较
字符串比较常见的选项
=:第一个条件和第二个条件是否相同
!= :第一个条件不等于第二 个条件
-Z:判断字符内容是否为空
判断系统的字符编码是否支持中文
[[email protected] ~]# [ $LANG = “zh_CN.UTF-8” ] && echo “系统只支持中文!!”
判断系统是英文或者中文
[[email protected] ~]# [ $LANG = “zh_CN.UTF-8” ] && echo “系统不支持英文!!”
if判断的应用
单分支if判断
1 )单分支if判断
if 条件
then
命令序列
Fi
判断是否一个目录存在,如果不存在自动创建目录
[[email protected] ~]# vim trst.sh
#!/bin/bash
DIP="/benet"
if [ ! -d $DIR ]
then
mkdir /benet
fi
添加执行权限
[[email protected] ~]# chmod +x test.sh
运行脚本
[[email protected] ~]# sh test.sh
双分支if判断
if 条件
then
命令序1
else
命令序列2
Fi
测试目标主机连通性脚本
[[email protected] ~]# vim test01.sh
#!/bin/bash
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo “HOST $1 IS UP!!”
else
echo “HOST $1 IS DOWN!!”
fi
[[email protected] ~]# chmod +x test01.sh 添加执行权限
运行脚本
[[email protected] ~]# sh test01.sh 192.168.100.10