




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本课内容,Shell逻辑判断Shell条件判断Shell循环处理,2,1、条件判断命令testtestn1-参数n2(或参数表达式)真返回0,假返回1。(1)整数,比较运算符见下表test1lt4#判断10(4)其他参数-a逻辑与-o逻辑或!逻辑非,文件状态测试,示例:-shaison.c0表示成功,其他为失败,下同。,逻辑操作符-a逻辑与(and),操作符两边均为真,结果为真,否则为假。-o逻辑或(or),操作符两边一边为真,结果为真,否则为假。!逻辑否,条件为假,结果为真,反之。,示例:-rhaison.cawhai.c,字符串测试,示例:-z$SHELL,数值测试,示例:“10”-eq“12”,test和命令,Test命令的别名,在usr/bin目录下test和的语法如下:testexpressionexpression以上两种表达式等价在有if语句的时候一般使用不用test,Exp51.sh#!/bin/bashif-n$1-a-n$2thenechoparais$1,$2elseechohasnoparafi,shell命令执行的相应顺序,then#codeblockelifexpressionthen#codeblockelse#codeblockfiThen如果和表达式写在同一行的话,必须在表达式号用分号,否则必须把then写在下一行,Exp7.sh分支语句练习,#!/bin/bashif$#-lt2thenechoMusthavetwoparameteratleastexit0elif$#-eq2;thenechopara1=$1,para2=$2elseecho$1$2$3fi,#!/bin/bashif$#-lt2thenechoMusthavetwoparameteratleastexit0elseif$#-eq2;thenechopara1=$1,para2=$2elseecho$1$2$3fifi,2.2流程控制:分支结构-case语句,if条件语句用于在两个选项中选定一项,而case条件选择为用户提供了根据字符串或变量的值从多个选项中选择一项的方法,其格式如下:casestringinexp-1)若干个命令行1;exp-2)若干个命令行2;*)其他命令行esac,case表达式可以用来匹配一个给定的字符串,而不是数字(可别和C语言里的switch.case混淆)。shell通过计算字符串string的值,将其结果依次和分支表达式exp-1、exp-2等进行比较,直到找到一个匹配的表达式为止,如果找到了匹配项则执行它下面的命令直到遇到一对分号(;)为止。在case表达式中也可以使用shell的通配符(“*”、“?”、“”)。通常用“*”作为case命令的最后表达式以便使在前面找不到任何相应的匹配项时执行“其他命令行”的命令。,Exp8.sh分支语句练习,#!/bin/bashif$#-lt1thenechoneedinputonefile,atleaseexit0ficase$1in*tar*)echothisisatarfile;*tgz)echothisisatgzfile;*)echothisisacommonfile;esac,Menu.sh简单的菜单功能,#!/bin/sh-clearecho-MENU-echoecho1.Findfilesmodifiedinlast24hoursecho2.Thefreediskspaceecho3.Spaceconsumedbythisuserecho4.Exitechoecho-nSelect:readchoicecase$choicein1)find$HOME-mtime-1-print;2)df;3)du-s$HOME;4)exit;*)echoInvalidoptionesac,2.3控制结构for循环,格式for变量名in列表do命令done当变量值在列表里,for循环即执行一次所有命令,使用变量名访问列表中取值。嵌套循环可以将一个for循环嵌在另一个for循环里,Exp9-0.sh#!/bin/bashcounter=0allfile=lsecho$allfileforFILESin$allfiledoecho$FILES#counter=expr$counter+1(counter+)doneechofilecount=$counterinpwd,#!/bin/bashi=$*forargin$idoecho$argdonej=0,2.3.1for循环的另外形式,for循环中用seq产生循环次数#!/bin/bashechofor:Traditionalform:forvarin.forjin$(seq115)doecho$jdone,C语言形式的for循环语句#!/bin/bashechofor:Clanguageform:for(exp1;exp2;exp3)for(i=1;i=5;i+)doechoi=$idone,2.4控制结构until循环,格式until条件do命令doneuntil条件为假就循环执行一系列命令,直至条件为真停止。,Exp10.sh#!/bin/bashmyvar=1until$myvar-gt10doecho$myvarmyvar=$($myvar+1)done,2.5控制结构while循环,格式while条件为真时执行循环do命令doneWhile循环用于不断执行一系列命令,也用于从输入文件中读取数据。虽然通常只有一个命令,但在while和do之间可以放几个命令。命令通常用作测试条件,只有当命令的退出状态为0时,do和done之间命令才被执行,如果退出状态不是0,则循环终止。,Exp11.sh#!/bin/sh#whileTest#totestthemethodofwhileCOUNTER=0while$COUNTER-lt10doecho$COUNTERCOUNTER=expr$COUNTER+1donewhilereadLINEdoecho$LINEdonenames.txt生成names.txt,While循环的C语言形式,#!/bin/bashi=1while($i100)doif($i%4=0)thenecho$ifii=$($i+1)done,Exp9.s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源技术研发2025:投入产出效益评估及产业升级报告
- 洞察2025年:全球数字医疗市场深度分析报告
- 车床铣床安全培训课件
- 水供应服务员设备维护与保养考核试卷及答案
- 鉴定估价师职业考核试卷及答案
- 钻床工知识考核试卷及答案
- 生物竞赛测试题及答案
- 元培杯地理竞赛试题及答案
- 水生植物高效栽培技术创新创业项目商业计划书
- 棕榈藤种子创新创业项目商业计划书
- 2025四川蜀道建筑科技有限公司招聘16人考试模拟试题及答案解析
- 第1课 认识工具教学设计-2025-2026学年小学书法西泠版三年级上册-西泠版
- 第3课 中华文明的起源 课件( 内嵌视频)部编版七年级历史上册
- 体育模拟上课培训课件
- 2025年秋新人教版数学二年级上册全册教案
- 标准件供货协议合同范本
- 2025广东茂名信宜市总工会招聘社会化工会工作者4人笔试备考试题及答案解析
- 纳税申报流程课件
- 2025年在线少儿英语培训行业当前发展趋势与投资机遇洞察报告
- 石油管道保护施工方案
- 2025新疆维吾尔自治区人民检察院招聘聘用制书记员(14人)笔试参考题库附答案解析
评论
0/150
提交评论