当前位置: 首页 > news >正文

第十次作业-使用结构化命令

一、基础核心概念
1.结构化命令
Shell脚本流程控制语法,依靠条件判断选择性执行代码,核心实现载体为if语句。
2.退出状态码
命令执行后的返回标识,0代表执行成功,非0代表执行失败;if语句依靠该值判定分支走向。
3.fi
if结构结束标识符,if逆序拼写,每个if必须匹配对应fi,缺失会触发语法报错。
4.test命令
自定义条件检测工具,弥补原生if仅能判断命令运行结果的短板;条件成立返回0,反之返回非0;[]是test的简写形式,二者等价。
5.复合条件
布尔逻辑组合多条test判断,一次性校验多组条件,分为逻辑与、逻辑或两类规则。
6.双括号 (( ))
Bash专属高级数值运算语法,拓展整数运算能力,支持复杂算术表达式,比较符无需转义。
7.双方括号 [[ ]]
Bash专属高级字符串判断语法,支持通配符模糊匹配,简化字符串大小比较书写规则。

二、知识框架总览
(一)if系列结构化语句
1.if-then基础语句
作用:根据命令退出状态码分支执行,命令返回0(执行成功)执行then内代码,非0则跳过。
语法:分行写法 if 命令;then 代码;fi;简写 if 命令; then 代码; fi。
fi 是if语句结束标记,每个if必须配套fi。
2.if-then-else 二分支
作用:命令成功执行then,失败执行else,两种结果分开处理。
3.if-elif 多分支
作用:连续多条件判断,从上至下匹配,命中即执行对应代码,全部不匹配可加else。
4.if嵌套
作用:if内部再写if,实现多层逻辑,每一层if都要有独立fi闭合。

(二)test条件测试命令(等价 [])
单纯if只能判断命令执行结果,test可检测数值、字符串、文件三类条件,条件成立返回0。
1.数值比较(仅支持整数)
-eq相等、-ne不等、-gt大于、-ge大于等于、-lt小于、-le小于等于;不支持浮点数。
2. 字符串比较
=相等、!=不等;> < 需要转义 > <;
-n:字符串非空;-z:字符串为空。
3. 文件/目录检测
-e文件/目录存在;-d目录;-f普通文件;
-r可读、-w可写、-x可执行;
-nt文件更新、-ot文件更旧。
注意:[] 左右两侧必须留空格,否则语法报错。

(三)复合条件逻辑
使用布尔运算符拼接多个test判断:
1.[条件1] && [条件2] 逻辑与:两个条件同时成立才为真;
2.[条件1] || [条件2] 逻辑或:任意一个条件成立即为真。

(四)双括号 (( )) & 双方括号 [[ ]]
1.双括号 (( ))
用途:高级整数数学运算;支持++自增、**平方、位运算、逻辑运算;> <无需转义。
2.双方括号 [[ ]]
用途:高级字符串处理;支持通配符模糊匹配,比较符号不用转义,仅bash支持。

三、实操过程截图
1.模块1-基础 if-then 语句


2.模块2- if-then-else 二分支判断


3.模块3-多分支 elif 语句


4.模块4- if 嵌套语句


5.模块5- test数值比较(仅整数)


6.模块6- test 字符比较


7.模块7- test 文件/目录判断


8.模块8- 复合条件 &&与 、 ||或


9.模块9- 双括号(( ))高级数学运算


10.模块10- 双方括号 [[ ]] 字符串模式匹配

http://www.jsqmd.com/news/1168121/

相关文章:

  • Firestorm多客户端支持:Elm、Vue、Flutter、React Native全解析
  • 终极Windows更新修复指南:一键重置工具让你轻松搞定更新问题
  • 2026郑州装修公司优选排名:新房/二手房/别墅/精装房改造分场景推荐 - 装修新知
  • Windows 10用户终于等到了:微软原生容器方案WSL Containers实测与部署详解
  • 2026东莞小程序定制开发的企业综合实力盘点
  • 智能海报生成革命:如何用多代理AI系统3分钟创建学术海报
  • 2026年独立站搭建完成后怎么运营?内容、流量和询盘复盘
  • 碧蓝幻想Relink DPS监控工具:GBFR Logs终极指南
  • 2026年6月国内可靠的小电流接地选线装置定制厂家推荐,智能微机消谐装置/避雷器在线监测仪,小电流接地选线装置品牌找哪家 - 品牌推荐师
  • 2026 年 7 月劳力士走时校准维修点地址怎么查|教你选择专业维修授权门店预约方式全攻略 - 劳力士服务维修中心
  • AI 评论 Kamailio ISSUES 4777(TLS)
  • 2026年石家庄除草剂毒物检测正规机构挑选攻略 恒秘优检等机构信息梳理 - 资讯报道
  • emmet-mode编辑点导航:高效在标签间跳转的技巧
  • TS2007FC与MKV42F64VLH16音频系统开发实战
  • 终极指南:15个WuWa-Mod模组如何彻底改变你的《鸣潮》游戏体验?
  • Python 数据验证库 Validators
  • STM32与NAU8224音频系统设计与优化
  • GitHub Desktop汉化工具:三分钟让Git客户端界面变中文的完整指南
  • TS2007FC与dsPIC33FJ256GP710A构建高性能音频系统
  • BitNet.cpp:1位大语言模型的终极轻量级推理框架完全指南
  • K8s+Ray:大模型时代AI Workload调度的通用范式
  • 劳力士中国区官方售后服务中心|最新维修地址及电话权威收录(2026年7月最新) - 劳力士售后服务官网
  • 2026年河北铝单板生产厂家挑选攻略 幕润铝业及行业优质企业梳理 - 资讯报道
  • LaTeX-Workshop深度诊断与系统修复指南:告别编译失败与配置困境
  • 2026青岛行业龙头30年本土老店本地榜首测评第一易奢福 - ys韩
  • 《LeetCode 152 乘积最大子数组 || LeetCode 413 等差数列划分》
  • AlphaFold 3依赖冲突深度解析:5步精准排查与解决方案
  • 二手钻石回收价格查询|2026 易奢福大连甘井子区线上线下同步估价 - 奢侈品回收实体店
  • IPD集成产品开发,产品设计怎样找核心用户?
  • 3000+戴森球计划工厂蓝图库:从新手到专家的星际工厂建造指南 [特殊字符]