SHELL脚本if语句判断

一、单分支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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值