目录

  • 掌握case语句的基本语法结构

  • 掌握函数的定义及调用

  • 掌握常用的正则表达式元字符含义

一、case语句

  1. case语句为多重匹配语句

  2. 如果匹配成功,执行相匹配的命令

1. 语法结构

说明:pattern表示需要匹配的模式case var in 定义变量;var代表是变量名
pattern 1) 模式1;用 | 分割多个模式,相当于or
    command1 需要执行的语句
    ;; 两个分号代表命令结束
pattern 2)
    command2
    ;;
pattern 3)
    command3
    ;;
      *) default,不满足以上模式,默认执行*)下面的语句
    command4
    ;;
esac esac表示case语句结束

case 的结束标志就是它倒过来写esac, if 的结束标志是其倒过来的写法 fi.

2. 应用案例

(一) 脚本传不同值做不同事

具体需求:当给程序传入start、stop、restart三个不同参数时分别执行相应命令

#!/bin/env bash
case $1 in
        start|S)
        service apache start &>/dev/null && echo "apache 启动成功"
        ;;
        stop|T)
        service apache stop &>/dev/null && echo "apache 停止成功"
    

Linux疑难杂症解决方案100篇(五)-SHELL脚本中case语句的多种使用场景相关推荐

  1. Linux疑难杂症解决方案100篇(七)-SHELL编程变量与四则运算

    前言 ① Shell的基本语法结构 如:变量定义.条件判断.循环语句(for.until.while).分支语句.函数和数组等: ② 基本正则表达式的运用; ③ 文件处理三剑客:grep.sed.aw ...

  2. Linux疑难杂症解决方案100篇(十五)-万字长文带你深入Linux 内核学习:环境搭建和内核编译

    一.linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基 ...

  3. Linux疑难杂症解决方案100篇(二)-SHELL编程函数的定义及调用

    1. 什么是函数? shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能 2. 如何定义函数? 方法一: 函 ...

  4. Linux疑难杂症解决方案100篇(四)-SHELL编程预留题目解析

    1.文件创建 判断/tmp/run目录是否存在,如果不存在就建立,如果存在就删除目录里所有文件 #!/bin/bashif [ -d /tmp/run ];then rm -rf /tmp/run/* ...

  5. Linux疑难杂症解决方案100篇(十)-带你学习提速增效的几个常用 shell 命令

    curl curl 是常用的命令行工具,用来请求 Web 服务器.它的名字就是客户端(client)的URL 工具的意思.curl 功能非常强大,它的命令可以直接放到 postman 使用,postm ...

  6. Linux疑难杂症解决方案100篇(九)-SHELL编程正则表达式

    1. 正则表达式是什么? 正则表达式(Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符. 许多 ...

  7. Linux疑难杂症解决方案100篇(六)-SHELL编程条件判断和流程控制

    今日目标: 熟悉条件判断语句,如判断整数.判断字符串等 熟悉流程控制语句基本语法,如if-else- 一.条件判断语法结构 思考:何为真(true)?何为假(false)? 1. 条件判断语法格式 格 ...

  8. Linux疑难杂症解决方案100篇(三)-嵌套循环及随机数知多少

    前言 复习for循环语句的基本语法结构 复习while和until循环语句的基本语法结构 能会使用RANDOM产生随机数 理解嵌套循环 一.随机数 关键词:一切都是未知数,永远不知道明天会发生什么. ...

  9. Linux疑难杂症解决方案100篇(十四)-Linux scp 使用详解

    前言 一般情况,本地网络跟远程网络进行数据交抱,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync 大型数据迁移用rysync,其次用fetch/wget ,最次 ...

最新文章

  1. 关于Messenger实现进程间通信
  2. 【C 语言】字符串拷贝 ( 指针使用前判空 | while 空语句 )
  3. php+redis队列流程
  4. 三层架构-----实践篇-登录小实例
  5. centos7装完chrome无法使用yum问题解决
  6. 基于 CNN 和迁移学习的农作物病害识别方法研究
  7. 用bitbucket积累代码
  8. TurboFan的故事
  9. 3.1、如何通过ISP(FlyMcu串口)下载程序(附CH340驱动及FlyMcu安装包)
  10. 杜比服务器系统安装教程,win10杜比音效如何安装?win10安装杜比音效的详细教程...
  11. 【CS229机器学习】作业 Problem Set #1 有监督学习
  12. 【Appium实战】如何使用mumu模拟器模拟安卓手机
  13. F检验临界值表(Frideman检验表)
  14. python3__机器学习__神经网络基础算法__偏执项b
  15. 根据页面结构,用jquery取里面对应的内容 组装成json数据
  16. 纳斯达克对经济泡沫的定义是:当交易价格远大于内在价值的时候,就称为泡沫(转)...
  17. 数值计算笔记之数值积分(二)龙贝格算法
  18. 打包软件一键安装_InstallShield2015PremierComp打包软件安装步骤
  19. python爬虫之正则表达式(爬取妹子网图片)
  20. 创建source insight (.PR文件)工程

热门文章

  1. POJ 1703 Find them, Catch them
  2. Lync客户端导入联系人
  3. Python类继承简单实现
  4. 动态规划 dp05 插入乘号问题 c代码
  5. tof摄像头手势识别_TOF(Time Of Flight)+模型匹配,ThisVR想让手势识别低成本小型化...
  6. 纯jsp实现评论功能_基于云开发的小程序版本更新、评论功能改进、后台管理的实现...
  7. 前端div里的内容下沉_自学Web前端的五个不同阶段,从浅入深
  8. 树莓派python编程小车_python3实现网页版raspberry pi(树莓派)小车控制
  9. 2压缩备份数据库_为什么您的企业需要备份数据库
  10. 使用非常驻任务管理事件