LinuxShell脚本——选择结构
LinuxShell脚本——选择结构
摘要:本文主要学习了Shell脚本中的选择结构。
if-else语句
基本语法
最简单的用法就是只使用if语句,它的语法格式为:
if 条件
then
命令
fi
如果将if和then写在一行,则需要在then前面添加“;”:
if 条件; then
命令
fi
如果有两个分支,就可以使用if-else语句,它的格式为:
if 条件
then
命令1
else
命令2
fi
Shell支持任意数目的分支,当分支比较多时,可以使用if-elif-else-结构,它的格式为:
if 条件1
then
命令1
elif 条件2
then
命令2
elif 条件3
then
命令3
...
else
命令n
fi
使用举例
最简单的使用案例,只有一个条件和一个命令:
#!/bin/bash
read a
read b
if (( $a == $b ))
then
echo "a和b相等"
fi
根据条件执行不同的命令:
#!/bin/bash
read a
read b
if (( $a == $b ))
then
echo "a和b相等"
else
echo "a和b不相等"
fi
当有多个条件需要判断时:
#!/bin/bash
read a
if (( $a > ))
then
echo "优秀"
elif (( $a > ))
then
echo "良好"
elif (( $a > ))
then
echo "中等"
elif (( $a > ))
then
echo "及格"
else
echo "不及格"
fi
case-in语句
基本语法
表达式既可以是一个变量、一个数字、一个字符串,也可以是一个数学计算表达式,或者是命令的执行结果,只要能够得到确定的值就可以。
条件可以是一个数字、一个字符串,甚至是一个简单的正则表达式。
case会将表达式的值与多个条件逐个进行匹配:
如果表达式的值和某个条件匹配成功,就会执行这个条件后面对应的所有语句,直到遇见双分号;;才停止;然后整个case语句就执行完了,程序会跳出case语句,执行esac后面的其它语句。
如果表达式的值没有匹配到任何一个条件,那么就执行*)后面的语句(符号“*”表示其它所有值),直到遇见双分号;;或者esac才结束。
语法格式如下:
case 表达式 in
条件1)
命令1
;;
条件2)
命令2
;;
条件3)
命令3
;;
...
*)
命令n
esac
支持的正则表达式
case-in的条件部分支持简单的正则表达式,具体来说,可以使用以下几种格式:
*:表示任意字符串。
[abc]:表示a、b、c三个字符中的任意一个。比如,[15ZH]表示1、、Z、H四个字符中的任意一个。
[m-n]:表示从m到n的任意一个字符。比如,[-]表示任意一个数字,[-9a-zA-Z]表示字母或数字。
|:表示多重选择,类似逻辑运算中的或运算。比如,abc|xyz表示匹配字符串“abc”或者“xyz”。
使用举例
#!/bin/bash
read a
case $a in
)
"优秀";;
)
"良好";;
)
"一般";;
)
echo "及格";;
*)
echo "不及格"
esac
LinuxShell脚本——选择结构的更多相关文章
- LinuxShell脚本——循环结构
LinuxShell脚本——循环结构 摘要:本文主要学习了Shell脚本中的循环结构. while循环 基本语法 while循环是最简单的一种循环,如果条件满足则执行循环里的语句,如果条件不满足则退出 ...
- shell编程中的 三种结构: 条件if/选择结构case/循环for/while/until等结构 和 函数的用法
shell 函数的使用 (md中, 列表本身是有格式的, 他要产生缩进, 其次,列表项和列表项之间, 可以留有一个空行, 是合法的, 允许的) shell函数,就是 就相当于一个命令来看待和处理的, ...
- Linux-Shell脚本编程-学习-1-Linux基本命令
在学习Linux-Shell脚本编程之前,我们需要学习一定的Linux基本命令,不然在后面学习Shell脚本编程的的时候,我们就呵呵了. 我学习所用的系统是Ubuntu 16.04版本 也没有什么规则 ...
- LinuxShell脚本——认识Shell脚本
LinuxShell脚本——认识Shell脚本 摘要:本文主要介绍了Shell脚本的一些基本知识. 什么是Shell脚本 shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件, ...
- Shell基础(二):Shell中的数值运算、条件测试操作、使用if选择结构
一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78 ...
- 黑马程序员——C语言基础 流程控制 选择结构和循环结构
---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...
- C语言中的循环结构与选择结构
1. 为什么使用循环? 重复执行某段代码 2. while(条件){ 循环体: } 当条件成立的时候就执行循环体,条件不成立,就退出循环,继续执行while后面的语句 3. for ( 初始表达式 : ...
- C- 流程控制(顺序结构,选择结构,循环结构)
一.选择结构 1.if 特点: 同一时刻,只有一个大括号里面的代码会被执行 2,switch 特点 默认情况下,只有一个case后面的代码会被执行 如果一个case后面没有break,而且这个case ...
- 160809212田京诚C语言程序设计实验2 选择结构程序设计_进阶
实验2-6 猜数字游戏 实验要求: 编写一个C程序实现一个[1-100]以内的猜数字游戏. (1) 系统随机产生一个[1-100]之间的随机数. (2) 输入任意一个数字.数字 ...
随机推荐
- C++笔记——快读快写
直接开始吧 额m~,这里就没什么好说的了,无非就是用getchar加快cin或printf的读入速度. 代码: inline int read() { int X=0; bool flag = 1; ...
- (五十一)c#Winform自定义控件-文字提示-HZHControls
官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...
- 第一篇随笔:用VB.NET搞点简单事情(1)
网络上能搜索到的爬虫文章大多是用python做的,也有少部分是C#做的(小声:所以用VB.NET也可以做爬虫.本文写的是第一步:获取网页) 使用代码前先imports以下内容 Imports Syst ...
- Java入门——在Linux环境下安装JDK并配置环境变量
Java入门——在Linux环境下安装JDK并配置环境变量 摘要:本文主要说明在Linux环境下JDK的安装,以及安装完成之后环境变量的配置. 使用已下载的压缩包进行安装 下载并解压 在Java的官网 ...
- Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例
场景 在WIinform中有一种场景就是对文件进行重命名时需要获取原来的名字并填充窗体中的输入框, 然后在点击保存时还要能获取弹窗中输入框的内容. 比如点击重命名时弹窗 点击确认时获取输入框内容. 注 ...
- 团队展示&选题
团队展示 1.队名:螺旋升天队 2.队员学号: 李光证 3117004660 (队长) 卢俊杰 3117004662 吴子昊 3117004671 陈浩民 3117004646 陈俊铭 3117004 ...
- Create an op on tensorflow; 在tensorflow 1.7/2.0 中创建一个 Op操作
最近项目,需要创建一个 tensorflow 的一个自定义操作,用来加速tensorflow的处理效果:下面对创建过程中,遇到的问题和资源进行简要记录,进行备忘: OP 创建 参考链接: https: ...
- 007.MongoDB特殊成员
一 MongoDB成员 1.1 常见特殊member Secondary存在一些特殊的成员类型: Priority 0 #不能升为主,可以用于多数据中心场景 Hidden #对客户端来说是不可见的,一 ...
- go语言设计模式之Concurrency pipeline
pipeline.go package pipeline func LaunchPipeline(amount int) int { firstCh := generator(amount) seco ...
- 第五章 与HTTP协作的Web服务器
第五章 与HTTP协作的Web服务器 一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟机实现多个域名 HTTP/1.1规范允许一台HTT ...