zoukankan      html  css  js  c++  java
  • shell(三)if流程控制

    流程控制

    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%,则发邮件报警
    • 根据学生录入成绩判断学生成绩优劣
    • 判断变量是不是全是数字
  • 相关阅读:
    二叉树计数2(卡特兰数+高精乘低精+高精除低精)
    奶牛的身高(差分约束)
    海底高铁(差分)
    假期(动态规划+单调队列)
    RY哥查字典(字符串双模hash初步)
    元素查找(hash初步)
    【模板】单源最短路径 堆优化的dijkstra
    【模板】单源最短路径spfa
    【并查集】noi2001食物链
    【带权并查集】银河英雄传说
  • 原文地址:https://www.cnblogs.com/codeBang/p/12046125.html
Copyright © 2011-2022 走看看