流程控制

if 流程控制

基本语法

  • 单分支结构

    if [];then
    fi
  • 两分支结构

    if [];then
    else
    fi
  • 多分支结构

    if [];then
    elif[];then
    elif[];then
    else
    fi

简单使用

  • 文件比较

    参数 说明 示例
    -e 如果文件或者目录存在则为真 [-e file]
    -s 如果文件存在且至少有一个字符则为真 [-s file]
    -d 如果文件存在且为目录则为真 [-d file]
    -f 如果文件存在且为普通文件则为真 [-f file]
    -r 如果文件存在且可读则为真 [-r file]
    -w 如果文件存在且可写则为真 [-w file]
    -x 如果文件存在且可执行则为真 [-x file]
  • 整数比较

    参数 说明 示例
    -eq 等于且条件为真 [1 -eq 10]
    -ne 不等于则条件为真 [1 -ne 10]
    -gt 大雨则条件为真 [1 -gt 10]
    -lt 小于则条件为真 [1 -lt 10]
    -ge 大于等于则条件为真 [1 -ge 10]
    -le 小于等于则条件为真 [1 -le 10]
  • 字符串比较

    参数 说明 示例
    == 等于则条件为真 ["$a"=="$b"]
    != 不等于则条件为真 ["$a"!="$b"]
    -z 字符串长度为零则为真 [-z "$a"]
    -n 字符串长度不为空则为真 [-n "$a"]
    str1>str2 Str1>str2为真 [str1>str2]
    str1<str2 Str1<str2为真 [str1<str2]
  • 正则比较

    1.单括号不支持正则比较

    [ "$USER" =~ ^r ]; echo $?
    输出:1

    2.双中括号才可以使用正则比较

    [[ "$USER" =~ ^r ]]; echo $?
    输出:0

练习题

  • 判断服务是否启动
  • 查看内存或者磁盘使用情况,如果超过80%,则发邮件报警
  • 根据学生录入成绩判断学生成绩优劣
  • 判断变量是不是全是数字

shell(三)if流程控制的更多相关文章

  1. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...

  2. shell脚本之流程控制

      shell脚本之流程控制 shell脚本之流程控制 条件语句 条件判断 循环语句for,while,until for循环 while循环 until循环 循环控制语句continue 循环控制语 ...

  3. Java04-Java语法基础(三)流程控制

    Java04-Java语法基础(三)流程控制 一.数据类型的转换 1.自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换 double d1 = 3.14; int t1 = d1; 2 ...

  4. Excel VBA入门(三) 流程控制1-条件选择

    VBA中的流程控制分为两种,其一是条件结构式的,即根据条件判断的结果去选择性执行相应的语句(块):另一种是循环,即循环地执行语句(块).本节介绍第一种. 1. IF if 语句其实包含有几种形式: ① ...

  5. 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!

    http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...

  6. Python基础(三)--流程控制之if、while、for,break与continue

    一.流程控制之if……else…… if语句是指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一 if 条件1: 缩进的代码块 elif 条件2: 缩进的代码 ...

  7. Shell(三)流程控制

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

  8. Shell test命令/流程控制

    Shell test命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数,说明 -eq等于则为真 -ne不等于则为真 -gt 大于则 ...

  9. Shell命令和流程控制[linux常用命令的使用]

    在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ...

  10. Shell脚本学习 - 流程控制和函数

    继续Shell的学习.上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while) 流程控制 if else 流程控制不可为空,如果else没有语句执行,就不 ...

随机推荐

  1. Jmeter使用笔记1

    1.简介 jmeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台.多数情况下是用作压力测试,该测试工具在阿里巴巴有着广泛的使用. 2.安装 下载apache-jmeter-3.1.rar; ...

  2. WPF 精修篇 静态资源

    原文:WPF 精修篇 静态资源 在WPF中 如果设置好了一个控件样式或者矩形样式 如果Copy出一个新的 那么样式也会双份 比如 下面的矩形 我定义好了一个 Copy 以后 就出现一个新的 但是改变样 ...

  3. Markdown温故知新(1):Markdown面面观

    1.什么是 Markdown? 2.有哪些人在用 Markdown? 3.用 Markdown 的优势是什么? 4.Markdown 的语法标准简介 5.怎么用 Markdown? 6.如何选择 Ma ...

  4. 用javascript写了一个模拟阅读小说的程序

    <html> <meta http-equiv="content-type" content="text/html; charset=UTF-8&quo ...

  5. Java中assert(断言)的使用

    Java中assert(断言)的使用 1.Eclipse中默认assert(断言)是关闭,开启方式如下: 简单来说:就是设置一下jvm的参数,参数是-enableassertions或者-ea(推荐) ...

  6. APICloud项目纪要

    一.页面之间的传递参数通过pageParam传递参数: api.openWin({ name: 'ware', url: './ware.html', pageParam: { wareId: 'w1 ...

  7. iOS开发使用Xcode的一些小技巧

    1.打开iOS项目 如果你当前目录下既有project又有workspace,你可以在终端使用命令“xed.”自动打开workspace,如果只有project,它会自动打开project. 2.清理 ...

  8. Android开发之EditText多行文本输入

    <EditText android:id="@+id/add_content" android:layout_width="fill_parent" an ...

  9. 3.redis 都有哪些数据类型?分别在哪些场景下使用比较合适?

    作者:中华石杉 面试题 redis 都有哪些数据类型?分别在哪些场景下使用比较合适? 面试官心理分析 除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才 ...

  10. window配合虚拟机VMware搭建虚拟ubuntu服务器入坑集锦

    1.VMware虚拟机和主机进行网络连接设置 https://jingyan.baidu.com/article/adc81513b86621f723bf7383.html 2.解决linux虚拟机与 ...