Linux疑难杂症解决方案100篇(五)-SHELL脚本中case语句的多种使用场景
目录
掌握case语句的基本语法结构
掌握函数的定义及调用
掌握常用的正则表达式元字符含义
一、case语句
case语句为多重匹配语句
如果匹配成功,执行相匹配的命令
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语句的多种使用场景相关推荐
- Linux疑难杂症解决方案100篇(七)-SHELL编程变量与四则运算
前言 ① Shell的基本语法结构 如:变量定义.条件判断.循环语句(for.until.while).分支语句.函数和数组等: ② 基本正则表达式的运用; ③ 文件处理三剑客:grep.sed.aw ...
- Linux疑难杂症解决方案100篇(十五)-万字长文带你深入Linux 内核学习:环境搭建和内核编译
一.linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基 ...
- Linux疑难杂症解决方案100篇(二)-SHELL编程函数的定义及调用
1. 什么是函数? shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能 2. 如何定义函数? 方法一: 函 ...
- Linux疑难杂症解决方案100篇(四)-SHELL编程预留题目解析
1.文件创建 判断/tmp/run目录是否存在,如果不存在就建立,如果存在就删除目录里所有文件 #!/bin/bashif [ -d /tmp/run ];then rm -rf /tmp/run/* ...
- Linux疑难杂症解决方案100篇(十)-带你学习提速增效的几个常用 shell 命令
curl curl 是常用的命令行工具,用来请求 Web 服务器.它的名字就是客户端(client)的URL 工具的意思.curl 功能非常强大,它的命令可以直接放到 postman 使用,postm ...
- Linux疑难杂症解决方案100篇(九)-SHELL编程正则表达式
1. 正则表达式是什么? 正则表达式(Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符. 许多 ...
- Linux疑难杂症解决方案100篇(六)-SHELL编程条件判断和流程控制
今日目标: 熟悉条件判断语句,如判断整数.判断字符串等 熟悉流程控制语句基本语法,如if-else- 一.条件判断语法结构 思考:何为真(true)?何为假(false)? 1. 条件判断语法格式 格 ...
- Linux疑难杂症解决方案100篇(三)-嵌套循环及随机数知多少
前言 复习for循环语句的基本语法结构 复习while和until循环语句的基本语法结构 能会使用RANDOM产生随机数 理解嵌套循环 一.随机数 关键词:一切都是未知数,永远不知道明天会发生什么. ...
- Linux疑难杂症解决方案100篇(十四)-Linux scp 使用详解
前言 一般情况,本地网络跟远程网络进行数据交抱,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync 大型数据迁移用rysync,其次用fetch/wget ,最次 ...
最新文章
- 关于Messenger实现进程间通信
- 【C 语言】字符串拷贝 ( 指针使用前判空 | while 空语句 )
- php+redis队列流程
- 三层架构-----实践篇-登录小实例
- centos7装完chrome无法使用yum问题解决
- 基于 CNN 和迁移学习的农作物病害识别方法研究
- 用bitbucket积累代码
- TurboFan的故事
- 3.1、如何通过ISP(FlyMcu串口)下载程序(附CH340驱动及FlyMcu安装包)
- 杜比服务器系统安装教程,win10杜比音效如何安装?win10安装杜比音效的详细教程...
- 【CS229机器学习】作业 Problem Set #1 有监督学习
- 【Appium实战】如何使用mumu模拟器模拟安卓手机
- F检验临界值表(Frideman检验表)
- python3__机器学习__神经网络基础算法__偏执项b
- 根据页面结构,用jquery取里面对应的内容 组装成json数据
- 纳斯达克对经济泡沫的定义是:当交易价格远大于内在价值的时候,就称为泡沫(转)...
- 数值计算笔记之数值积分(二)龙贝格算法
- 打包软件一键安装_InstallShield2015PremierComp打包软件安装步骤
- python爬虫之正则表达式(爬取妹子网图片)
- 创建source insight (.PR文件)工程
热门文章
- POJ 1703 Find them, Catch them
- Lync客户端导入联系人
- Python类继承简单实现
- 动态规划 dp05 插入乘号问题 c代码
- tof摄像头手势识别_TOF(Time Of Flight)+模型匹配,ThisVR想让手势识别低成本小型化...
- 纯jsp实现评论功能_基于云开发的小程序版本更新、评论功能改进、后台管理的实现...
- 前端div里的内容下沉_自学Web前端的五个不同阶段,从浅入深
- 树莓派python编程小车_python3实现网页版raspberry pi(树莓派)小车控制
- 2压缩备份数据库_为什么您的企业需要备份数据库
- 使用非常驻任务管理事件