一、单分支if语句:只在"条件成立"才执行相应的代码操作,否则不做任何操作.
语法:
if 条件测试操作
then
命令序列
fi
例如:
编写个脚本,测试系统中是否有/media/cdrom这个目录,如果没有则创建.
脚本如下:
#!/bin/bash
mulu="/media/cdrom"
if [ ! -d $mulu ] ; then
mkdir -p $mulu
fi
二、多分支if语句:针对单分支条件不成立时,执行另一个操作.
语法
if 条件测试操作
then //条件成立执行命令序列1
命令序列1
else //条件不成立则执行命令序列2
命令序列2
fi
例:编写一个连通性测试小脚本.根据ping结果显示不同的提示,成功显示chenggong 失败显示shibai.如下:
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null //此操作不显示在屏幕上
if [ $? -eq 0 ] //上面条件成立则运行下面命令
then
echo "chenggong"
else //不成立则运行下面的命令
echo "shibai"
fi
三、多分支if语句:对多个互斥的条件执行不同的操作.
语法:
if 条件测试操作1
then
命令序列1
elif
then
命令序列2
else
命令序列3
fi
例:
编写1个成绩小脚本,90-100显示优秀,70-80显示一般,其他不及格.如
#!/bin/bash
read -p "请输入你的成绩" chengji
if [ $chengji -ge 90 ] && [ $chengji -le 100 ]
then
echo "你的成绩很优秀"
elif [ $chengji -ge 70 ] && [ $chengji -lt 90 ]
then
echo "你的成绩一般"
else
echo"你的成绩不级合格"
fi
kill线程
#!/bin/bash
cd /data/jar
count=`find . -maxdepth 1 -type f -name duweixin.net.log -mmin +5 | wc -l`
if [ "$count" -ne 0 ]
then
echo 超过5分钟了,kill线程
varid=`ps -ef | grep duweixin.net-proxy-1.0.jar | grep -v grep | cut -c 9-15`
echo 线程id: $varid
if [ "$varid"== ""]
then
sh /data/jar/duweixin.net.sh
else [ "$varid" -gt 0 ]
kill -9 $varid
echo 启动抓取....
sh /data/jar/duweixin.net.sh
fi
fi
exit
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。