- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linuxsystem—ppt—chap08—v1.0
* 使用if语句的多分支结构,实际上也可以达到相同的效果,但当分支较多时,嵌套的if结构将使脚本的可行性差,不易理解 使用case分支语句结构,则可以使不同的分支情况一目了然 case后边的“变量值”逐一与模式1、模式2……等逐一进行比较,直到找到与之相匹配的值,然后执行该模式下的命令序列,当遇到双分号“;;”后跳转至esac表示结束分支。如果一直找不到相匹配的值,则执行最后一个模式“*)”后的默认命令序列,直到遇到esac后结束分支 * 该脚本仅用于帮助学员理解case语句的使用,不具有实际使用意义 注意强调:/etc/init.d/ 目录下的各类脚本中,大量使用了case分支语句结构,大家课下的时候可以多去看一看 * 教员讲解案例需求,分析代码,并切换到虚拟机环境演示脚本执行结果(直接复制脚本代码,或备课时预先准备好) 匹配模式中可以使用方括号表示一个连续的范围,例如“[0-9]”;使用竖杠符号“|”表示或,例如“A|B”(A或者B) * until 循环的结构与while命令类似,“until通过检测其后接命令的返回值“$?”来判断是否退出循环 until:直到”测试条件“成立时终止循环,而while是:当”测试条件“成立时进行循环 即:until在测试条件为假(非0)时执行循环,条件为真时(0)退出循环,正好与while循环相反 * 简单讲解shift影响控制位置变量的原理,无需操作演示 * $# 为预定义变量,表示位置参数的个数 * 在使用for、while或until循环语句以及case分支语句的过程中,当满足特定的条件时可能会需要中断循环体的执行、或者需要直接跳转到开头重新判断测试条件,该怎么办呢? 这时候,可以使用break和continue语句对执行流程进行控制,这两个语句与在其他大部分编程语言中的含义是类似的 break即“中断”的意思,用于跳出当前所在的循环体,但是并不退出程序 。执行break命令后将跳到done语句之后,执行done之后的语句,不再执行循环体do…done间的命令 * continue即“继续”的意思,用于暂停本次循环,跳转至循环语句的顶部重新测试条件,本次执行过程中continue后的命令序列将被忽略 continue和break语句都是用在for、while或until循环语句以及case语句中,并且一般都是配合着条件判断语句一起使用 * 通过在脚本文件中使用函数,可以大大减少程序的代码行数,简化程序的复杂度 * 与Shell变量的定义赋值不一样,Shell函数必须先进行定义才能使用,调用函数的语句要在定义该函数的语句之后 要调用函数时,只需要直接使用函数名称即可,注意不需要加小括号 已经定义的函数就相当于脚本内部设置的命令一样,也可以使用位置参数 * 在脚本内部,已经定义的函数就好比“内部命令”一样,可作为执行语句直接使用 * 总结本次课程的主要内容,明确学员还存在哪些疑问需要解答 参考问题: 1. 条件判断命令/表达式的书写形式是什么(test、[ ])? 2. 如何判断一个文件是否存在,如何判断一个变量值是否为0,如何判断上一条命令是否执行成功? 3. if语句结构的作用是什么,有哪几种分支类型,各自的语法是什么? 4. for循环与while循环有什么区别,while循环与until循环有什么区别? 5. case语句的每一个分支中,以何种方式表示执行结束(双分号 ;;)? 6. ……? * 从本页开始(到最后)的PPT部分放在实验课上进行讲解,不要放在理论课上讲解 * 阶段一的指导子阶段 1、教师介绍案例需求 ——公司配备了一台Linux服务器用于分公司员工的技术培训,因此需要经常成批量的添加用户帐号;另外该服务器还用于运行培训部的Web站点,需要经常监控网站服务程序的运行状态 2、在介绍完案例需求后,教师也可以向学员提问如何解决该问题 * 阶段一的指导子阶段(续) (前2个脚本控制在45分钟左右完成,第3个脚本控制在10分钟左右完成,必要时可以提供标准答案) 3、教师介绍实现思路,提醒注意: 1)httpd服务的监控还可通过监控进程或端口实现 2)执行批量添加/删除用户脚本前,注意先备份好passwd、shadow、group、gshadow等文件 * 阶段一的练习子阶段 1、本阶段中教员要负责巡视、答疑,对共性问题要及时集中讲解 2、随时检查学员完成情况,跟踪学员实验进度 * 阶段二的指导子阶段 1、教师介绍案例需求 ——在一台RHEL5服务器中通过源码编译安装了zebra软件(见第3章实验),用于提供软路由服务。为了更方便对zebra服务进行启动、终止等管理操作,需要编写简单的zebrad服务启动脚本 2、在介绍完案例需求后,教师也可以向
文档评论(0)