在开始之前,先了解一下逻辑判断符号:
&& 与、|| 或、! 非
A && B 必须A,B同时成立,才能通过判断
---> 判断流程:先执行A判断其是否成立,若成立,则继续执行B,判断其是否成立
---> 若不成立,则直接结束,不再执行B
A || B A、B有一个成立,即可通过判断
!A 若A不成立,则通过判断
数和符号,如下:
比较数值:
等于 ---> –eq
不等于 ---> –ne
小于 ---> –lt
大于 ---> –gt
小于等于 ---> –le
大于等于 ---> –ge
一些英文单词:帮助记忆
equal等于、not equal不等于、less than小于、great than大于
less equal 小于等于 great equal大于等于
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站设计、网站建设、外贸网站建设、网站策划、网页设计、域名注册、网站空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
比较字符串:
= 等于、== 等于,同=、!= 不等于、> 大于、<小于、-z字符串为空、-n字符串非空null
if流程控制语句
if语句有三种使用方式:
格式如下:
单分支:
if 条件判断语句
then 执行语句
fi
双分支:
if 条件判断语句
then 执行语句
else 执行语句
fi
多分支:
if 条件判断语句
then 执行语句
else 执行语句
fi
##################################
实战1:if单分支--->应用
源码如下:
[root@linux4 ~]# if [ -d /root ];then //判断root目录是否存在
> echo "ok" //如果存在输入OK
> fi
ok
##################################
实战2:if双分支应用--->pinghost.sh
ping -c 3 -i 0.2 -w 3 192.168.1.1
-c 发送数据包个数
-i 数据包每次发送间隔时间,默认单位:秒(s)
-w 等待时间,超过返回失败
源码如下:
#!/bin/bash
# ping a given host and print the host status
ip=192.168.1.1
ping -c 3 -i 0.2 -w 3 $ip >>/dev/null #-c count -i? -w wait?
if [ $? -eq 0 ];then?
echo "the host $ip is up."?
else
echo "the host $ip is down."?
fi
##################################
实战3:if多分支应用--->判断数值区间 num.sh
源码如下:
#!/bin/bash
read -p "请输入一个成绩: " num
if [ $num -gt 85 -a $num -lt 100 ];then
echo '优秀!'
elif [ $num -gt 70 ];then
echo '良好!'
elif [ $num -gt 60 ];then
echo '合格!'
else
echo '不合格!'
fi
##################################
实战4:if嵌套使用
源码如下:
#!/bin/bash
read -p "请输入这位同学的成绩: " a
if [ $a -lt 10 ];then
echo "恭喜这位同学进入决赛!"
read -p "请输入这位同学性别: " b
if [ $b = "男" ];then
echo "恭喜这位同学进入男子决赛组!"
else
echo "恭喜这位同学进入女子决赛组!"
fi
fi
文章标题:shell条件判断
文章位置:
http://shouzuofang.com/article/jdcije.html