条件判断if语句与case语句

一、条件测试

test命令进行条件测试,然后根据返回值来判断条件是否成立。

常用操作符:

-e :既可以测试文件又可以测试目录是否存在

-d :测试目录是否存在

-f :测试文件是否存在

-r :测试当前用户是否对文件/目录有读权限

-w:测试当前用户是否对文件/目录有写权限

-x :测试当前用户是否对文件/目录有执行权限

$?: 返回码,判断命令或者脚本是否执行成功(最近的一条)

0 true为真就是成功,成立

非0 false 失败或者异常

二、比较符

(以下操作符只能用于整数比较)

-eq等于
-ne不等于
-gt大于
-lt小于
-ge大于等于
-le小于等于
                       

 格式:注意空格

[ 3 -eq 5 ]

推荐使用[[ ]]可以使用更高级的模式,可以使用正则表达式,而且在双中括号中,使用字符串的时候可以不加引号

[[ 3 > 5 ]]

(( 3 > 5 )) 

逻辑与和逻辑或

与:&& 条件都要满足才成立 也可以使用-a [ 2 -ne 1 ] && [ 2 -ne 3] 或者 [2 -ne 1 -a 2 -ne 3 ]

或:|| 有一个条件满足才成立 也可以使用-o [ 2 -ne 1 ] || [ 2 -ne 3] 或者 [2 -ne 1 -o 2 -ne 3 ]

但当是[[]]的时候需要注意 [[ 1 -gt 4 && 1 -eq 5 ]]

三、if语句

单分支结构:

if      #条件判断,后面是条件测试语句then    #满足执行,命令序列,只有条件测试成功语句成立,才会执行then的命令模块
fi      #结束语句

双分支结构:

if      #条件判断,后面是条件测试语句then    #满足执行,命令序列,只有条件测试成功语句成立,才会执行then的命令模块
esle    #不满足执行else 执行完毕,语句结束
fi      #结束语句

 双分支结构:

if []then命令序列elif []then命令序列elif []then命令序列else命令序列fi

例如:

read -p "请输入你的分数:" fenshu
if [ $fenshu -eq $fenshu ] &> /dev/null       #/dev/null表示将冗余信息放进黑洞文件
thenif [[ $fenshu -ge 85 && $fenshu -le 100 ]]thenecho "优秀"elif [[ $fenshu -ge 70 && $fenshu -le 84 ]]thenecho "一般"elif [[ $fenshu -ge 60 && $fenshu -le 69 ]]thenecho "合格"elseecho "抄写30遍"fi
elseecho "输入错误,不是整数"
fi

四、 case语句

case语句 相当于多分支结构

case  变量值 in模式1)命令序列;; #终止case选项模式2)命令系列;;。。。。。。。。。。。*)命令序列esac

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/347999.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

delmia中机器人末端固定工具

1 需要在工具上面建立点 在Device Building模式下 2 然后通过 set tool可以设置

618值得购买的东西有哪些?618四款必囤好物清单分享!

随着618购物狂欢节的脚步日益临近,身为数码领域的资深爱好者,我深感有必要为大家推荐一系列经过精心挑选的数码产品精选。无论是热衷于科技前沿的探索者,还是希望通过智能设备提升生活品质的时尚达人,本文所介绍的每一款数码产品都…

【ARM Cache 与 MMU/MPU 系列文章 2.1 -- 什么是 Cache PoP 及 PoDP ?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 PoP 及 PoDPCache PoDPCache PoP应用和影响PoP 及 PoDP Cache PoDP 点对深度持久性(Point of Deep Persistence, PoDP)是内存系统中的一个点,在该点达到的任何写操作即使在系统供电…

初级网络工程师之从入门到入狱(三)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 中小型网络系统综合实战实验 前言一、详细拓扑图二、LSW2交换机三、LSW3交换机四、LSW1三层交换机4.1、4.2、4.3、4.4、4.5、…

SolidWorks 2016 SP5安装教程

软件介绍 Solidworks软件功能强大,组件繁多。 Solidworks有功能强大、易学易用和技术创新三大特点,这使得SolidWorks 成为领先的、主流的三维CAD解决方案。 SolidWorks 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。SolidWorks 不仅…

Web前端大作业:基于html+css+js的仿酷狗音乐项目(内附源码)

文章目录 一、项目介绍二、项目展示三、源码展示四、获取源码 一、项目介绍 课设是要仿照酷狗音乐的首页进行设计。酷狗音乐是国内知名的音乐应用程序,凭借其优秀的音乐库和智能推荐功能吸引了大量用户群体。模仿酷狗音乐的首页设计,可以让课设展现出专业水准,体现出对优秀产品…

后端开发面经系列 -- 小鹏汽车一面面经

小鹏汽车一面面经 公众号:阿Q技术站 来源:职言详情页 (maimai.cn) 文章目录 小鹏汽车一面面经1、String类型为什么不可变?1. 安全性2. 缓存和性能优化3. 哈希码缓存4. 类设计和接口5. 简单性和可读性 2、在浏览器中输入url地址到显示主页的过…

RV32A\CSR\Counters 指令集

RV32A\CSR\Counters指令集 一、RV32A指令集1、Load-Reserved/Store-Conditional InstructionsLR.WSC.W2、Atomic Memory OperationsAMOSWAP.WAMOADD.WAMOAND.WAMOXOR.WAMOOR.W二、CSR(Control and Status Register) 指令集CSRRWCSRRSCSRRCCSRRWICSRRSICSRRCI三、"Zicntr…

两种典型的嵌入式系统架构模式

大多数嵌入式系统都具备实时特征,那么,这种嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构。 1.层次化模式架构 为了达到概念一致性,许多系统通过层次化的方法进行搭建。这样做的结果是:位于高…

力扣752. 打开转盘锁

Problem: 752. 打开转盘锁 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.用一个集合 deads 存储所有的“死锁”状态,一个集合 visited 存储所有已经访问过的状态,以避免重复访问,一个队列 q 进行广度优先搜索(BF…

基于Python的AI动物识别技术研究

基于Python的AI动物识别技术研究 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 系统的登录模块设计 本次设计的AI动物识别系统为了保证用户的数据安全,设计了登录的模块&…

永磁同步电机滞环电流控制(PI双闭环)matlab仿真模型

微♥“电击小子程高兴的MATLAB小屋”获取模型 1.滞环电流控制的原理 将给定的电流信号与反馈的电流信号进行比较,然后控制它俩之间的差值稳定在一个滞环范围内,若超出范围,则进行相应的调节操作。 操作如下叙述:假设以三相中的A相…

Python解析Word文档的自动编号

关于自动编号的知识可以参考《在 Open XML WordprocessingML 中使用编号列表》 链接:https://learn.microsoft.com/zh-cn/previous-versions/office/ee922775(voffice.14) python-docx库并不能直接解析出Word文档的自动编号,因为原理较为复杂&#xff…

Python第二语言(十、Python面向对象(上))

目录 1. 标记变量的基础类型 2. 初识对象 2.1 使用对象组织数据 3. 成员变量 3.1 类和类成员的定义 3.2 成员变量和成员方法使用 3.3 成员方法的定义语句 4. 类和对象class Clock: def ring(self): 4.1 创建类对象的语法:对象名 类名称() 4.2 用生活中的…

原生js写table表格固定表头

给表头添加以下属性 table表格写法参考 jquery写表格 手动合并单元格-CSDN博客 jquery写表格&#xff08;带滚动条&#xff09;_row.append($(<td>)-CSDN博客

Java SE LTS版本商用收费,有那些开源的替代方案?

&#x1f680; Java SE LTS版本商用收费&#xff0c;有那些开源的替代方案&#xff1f; 摘要 Java 对于云服务、大数据、电子商务、支付、欺诈和身份、交易等许多应用程序来说都是至关重要的语言。然而&#xff0c;Oracle 对 Java SE LTS 版本的商用收费政策引发了广泛关注和…

Django render()函数页面渲染

1&#xff0c; render() 函数 在Django框架中&#xff0c;render() 函数是一个非常有用的快捷方式&#xff0c;用于从视图函数返回一个完整的HTTP响应。它负责将给定的模板与上下文数据结合&#xff0c;渲染出最终的HTML页面&#xff0c;并返回一个HttpResponse对象。 from d…

【ArcGISPro SDK】构建多面体要素

结果展示 每个面构建顺序 代码 using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Geometry; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Editing; using ArcGIS.Desktop.Extensions; using ArcGIS.Desktop.Framework;…

Diffusers代码学习: T2I Adapter

T2I Adapter是一款轻量级适配器&#xff0c;用于控制文本到图像模型并为其提供更准确的结构指导。它通过学习文本到图像模型的内部知识与外部控制信号&#xff08;如边缘检测或深度估计&#xff09;之间的对齐来工作。 T2I Adapter的设计很简单&#xff0c;条件被传递到四个特征…

免费学习通刷课(免费高分)Pro版

文章目录 概要整体架构流程小结 概要 关于上一版的免费高分的学习通刷课&#xff0c;有很多人觉得还得登录太复杂了&#xff0c;然后我又发现了个神脚本&#xff0c;操作简单&#xff0c;可以后台挂着&#xff0c;但是还是建议调整速度到2倍速&#xff0c;然后找到你该刷的课&…