码迷,mamicode.com
首页 > 系统相关 > 详细

Shell 流程控制-if 语句

时间:2015-06-12 00:45:52      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

  1. 单分支if条件语句

    if [ 条件判断式 ] ; then
    程序
    fi

    例子:判断分区使用率

    技术分享
    #!/bin/bash
    # Author: huangrui (Email:mycheryhr@gmail.com)
     
    rate=$(df -h | grep "sda1" | awk {print $5} | cut -f 1 -d "%")
     
    if [ $rate -gt 80 ]; then
       echo "Warning! disk is full !!!"
    fi
    Code
  2. 双分支if条件语句
    if [ 条件判断式 ] ; then
    条件执行成立时,执行的语句
    else
    条件执行不成立,执行的语句
    fi

    例子:备份网站目录文件

    技术分享
    #!/bin/bash
    # Author huangrui (Email:mycheryhr@gmail.com)
     
    date=$(date +%y%m%d)
    size=$(du -sh /home/test.com)
     
    if [ -d /home/test.com ];then
        echo "date is :$date" > /tmp/dbback/db.txt
        echo "size is :$size" >> /tmp/dbback/db.txt
        cd /tmp/dbback
        tar -zcf web_$date.tar.gz /home/test.com db.txt&>/dev/null
        rm -rf /tmp/dbback/db.txt
    else
        mkdir /tmp/dbback
        echo "date is :$date" > /tmp/dbback/db.txt
        echo "size is :$size" >> /tmp/dbback/db.txt
        cd /tmp/dbback
        tar -zcf web_$date.tar.gz /home/test.com db.txt&>/dev/null
        rm -rf /tmp/dbback/db.txt
    fi
    Code

    判断apache是否启动,使用nmap命令

    技术分享
    #!/bin/bash
    # Author huangrui (Email:mycheryhr@gmail.com)
     
    port=$(nmap -sT 172.16.193.128 | grep tcp | grep http | awk {print $2})
     
    if [ "$port" == "open" ]; then
       echo "$(date) httpd is ok!" >> /tmp/autostart-acc.log
    else
       /etc/rc.d/init.d/httpd restart &>/dev/null
       echo "$(date) httpd is restart!!" >> /tmp/autostart-err.log
    fi
    Code
  3. 多分支if条件语句
    if [ 条件判断1 ]; then
    当条件判断式1成立时,执行程序1
    elif [ 条件判断式2 ]; then
    当条件判断式2成立时,执行程序2
    …省略更多条件…
    else
    当所有条件都不成立,最后执行此程序
    fi

Shell 流程控制-if 语句

标签:

原文地址:http://www.cnblogs.com/Mrhuangrui/p/4570390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!