1. 单分支if条件语句

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

    例子:判断分区使用率

    1. #!/bin/bash
    2. # Author: huangrui (Email:mycheryhr@gmail.com)
    3.  
    4. rate=$(df -h | grep "sda1" | awk '{print $5}' | cut -f -d "%")
    5.  
    6. if [ $rate -gt ]; then
    7. echo "Warning! disk is full !!!"
    8. fi

    Code

  2. 双分支if条件语句
    if [ 条件判断式 ] ; then
    条件执行成立时,执行的语句
    else
    条件执行不成立,执行的语句
    fi

    例子:备份网站目录文件

    1. #!/bin/bash
    2. # Author huangrui (Email:mycheryhr@gmail.com)
    3.  
    4. date=$(date +%y%m%d)
    5. size=$(du -sh /home/test.com)
    6.  
    7. if [ -d /home/test.com ];then
    8. echo "date is :$date" > /tmp/dbback/db.txt
    9. echo "size is :$size" >> /tmp/dbback/db.txt
    10. cd /tmp/dbback
    11. tar -zcf web_$date.tar.gz /home/test.com db.txt&>/dev/null
    12. rm -rf /tmp/dbback/db.txt
    13. else
    14. mkdir /tmp/dbback
    15. echo "date is :$date" > /tmp/dbback/db.txt
    16. echo "size is :$size" >> /tmp/dbback/db.txt
    17. cd /tmp/dbback
    18. tar -zcf web_$date.tar.gz /home/test.com db.txt&>/dev/null
    19. rm -rf /tmp/dbback/db.txt
    20. fi

    Code

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

    1. #!/bin/bash
    2. # Author huangrui (Email:mycheryhr@gmail.com)
    3.  
    4. port=$(nmap -sT 172.16.193.128 | grep tcp | grep http | awk '{print $2}')
    5.  
    6. if [ "$port" == "open" ]; then
    7. echo "$(date) httpd is ok!" >> /tmp/autostart-acc.log
    8. else
    9. /etc/rc.d/init.d/httpd restart &>/dev/null
    10. echo "$(date) httpd is restart!!" >> /tmp/autostart-err.log
    11. fi

    Code

  3. 多分支if条件语句
    if [ 条件判断1 ]; then
    当条件判断式1成立时,执行程序1
    elif [ 条件判断式2 ]; then
    当条件判断式2成立时,执行程序2
    …省略更多条件…
    else
    当所有条件都不成立,最后执行此程序
    fi

Shell 流程控制-if 语句的更多相关文章

  1. [shell]流程控制----case语句

    Shell case语句为多选择语句.可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 ...

  2. shell流程控制--循环语句

    #!/bin/bash ### for循环,数字段形式 echo 'for 循环,数字段形式' ..} do echo $i done ### for 循环,双括号形式 echo 'for 循环,双括 ...

  3. Shell 流程控制-if for case while until break continue

    Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...

  4. 九、Shell 流程控制

    Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...

  5. 『忘了再学』Shell流程控制 — 39、特殊流程控制语句

    目录 1.特殊流程控制语句介绍 2.exit语句 3.break语句 4.continue语句 1.特殊流程控制语句介绍 Shell程序或者说其他的程序,都是顺序执行的,也就是第一行执行完再执行第二行 ...

  6. Python学习(七) 流程控制if语句

    在Python中流程控制if语句采用如下格式: if expression : statement elif expression : statement elif expression : stat ...

  7. Laravel 5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句

    Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们 ...

  8. Lua的五种变量类型、局部变量、全局变量、lua运算符、流程控制if语句_学习笔记02

    Lua的五种变量类型.局部变量.全局变量 .lua运算符 .流程控制if语句 Lua代码的注释方式: --当行注释 --[[    多行注释    ]]-- Lua的5种变量类型: 1.null 表示 ...

  9. 『忘了再学』Shell流程控制 — 33、if条件判断语句(一)

    目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下 ...

  10. 吴裕雄--天生自然ShellX学习笔记:Shell 流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

随机推荐

  1. c++入门之—运算符重载和友元函数

    运算符重载的意义是:将常见的运算符重载出其他的含义:比如将*重载出指针的含义,将<<与cout联合使用重载出输出的含义,但需要认识到的问题是:运算符的重载:本质仍然是成员函数,即你可以认为 ...

  2. pandas删除某一列的方法

    方法一:直接del df['column-name'] 删除sub_grade_列, 输入del df['sub_grade_x'] 方法二:采用drop方法,有下面三种等价的表达式: 1. df= ...

  3. Docker -d : Running modprobe bridge nf_nat failed with message: exit status 1

    nf_nat 是做什么用的 - DockOne.iohttp://dockone.io/question/1384 docker-py的配置与使用 - openxxs - 博客园http://www. ...

  4. 2 JAVA 项目名称前红色叹号如何解决

    1 Java 项目前出现红色叹号Eclipse找不到项目需要的JAR包,可以在这里面解决: ① 右键点击项目,选择[Build Path].[Configure Build Path...] ② 在这 ...

  5. mysql_linux(centos7 mysql 5.7.19)

    centos7  mysql 5.7.19安装 1.解压文件 [root@centos3 ~]# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.g ...

  6. 数组中元素累加 reduce

    例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...

  7. Struts2——namespace、action、以及path问题

    简单的介绍下Struts2中的几个简单的问题(namespace.action.以及path问题) namespace(命名空间) Namespace决定了action的访问路径,默认为“”,意味着可 ...

  8. java学习之—递归

    /** * 递归 * Create by Administrator * 2018/6/20 0020 * 上午 9:41 **/ public class TriangleApp { static ...

  9. Linux用户权限指令, 定时任务等指令

    一. 网卡配置详解 网络配置文件: /etc/sysconfig/network 网络接口配置文件: /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NA ...

  10. flask 下载本地文件

    下载本地文件就是找到文件路径  调用flask自带的send_file(路径)下载, 并返回 flask: # 下载文件 from flask import send_file@task_mgm.ro ...