- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目四linuxsh科ell程序设计
《Linux系统管理与维护》 项目四 Linux Shell程序设计 【学习要点】 ☆掌握Shell的基本语法结构。 ☆学会编写并执行Shell脚本程序。 ☆学会在Linux下进行进程调度和作业调度。 任务一 学习变量与表达式 Shell是操作系统最外面的一层,负责管理用户与操作系统之间的交互,例如等待用户输入,向操作系统解释用户的输入,以及处理操作系统的各种输出结果。 除了作为命令解释器之外,Shell本身还是一个解释型的程序设计语言。Shell程序设计语言支持变量、表达式、函数和流程控制结构等,任何在终端能够执行的命令也放到Shell程序。 4.1.1 变量 在Shell中有三种变量:系统变量,环境变量,用户变量。其中系统变量在对参数判断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置,用户变量在编程过程中使用最多。 这几种变量的赋值方法各不相同,主要有:直接设置变量值、变量之间的置换、从命令行参数获取、从环境变量获取和用户输入等几种方式。 引用变量一般采用“$variable”的形式引用变量variable的值。 1.系统变量 Shell常用的系统变量用于提供系统信息。系统变量一般采用命令行参数获取。 2.环境变量 Shell在开始执行前就已经定义了一些与系统工作环境有关的变量。 显示环境变量用echo命令。 在bash中,设置环境变量用set命令 。用unset命令可将环境变量重新设置为系统默认值,。 用户并不需要每次登录后都对各种环境变量进行手工设置,通过环境设置文件,用户的工作环境的设置可以在登录的时候由系统自动来完成。环境设置文件有两种:系统环境设置文件和用户环境设置文件。 3.用户变量 不管系统变量和环境变量有多少,对于需求来说,总是不够的。用户常常需要自定义一些变量,这些变量就称为用户变量。 定义用户变量的语法为: name=string 局部变量与全局变量 Shell变量也有其规定的作用范围。局部变量的作用范围仅仅在其命令行所在的Shell或Shell脚本文件中。全局变量的作用范围则包括本Shell进程及其所有子进程,即相当于环境变量, 贯穿于整个当前用户环境。可以使用export命令将局部变量设置为全局变量。 export name=string 【操作实例4.1】 用文本编辑器gedit编写一个Shell脚本test1.sh,显示执行脚本时输入的参数及参数总数目,并定义一个局部变量和一个全局变量。 4.1.2 表达式 Shell中的表达式分为算术运算表达式、关系与逻辑表达式和正则表达式等几种。 1.expr命令 expr命令的功能是求表达式的值。 2. 算术表达式 算术表达式可以是由运算符+、-、*、/、=组成的表达式。 3. 关系与逻辑表达式 命令test与方括号[ ]都用于进行条件测试,测试的结果返回逻辑值,即真true(0)和假false(1)。test和[ ]可以相互替换。 【操作实例4.2】 先练习使用表达式,然后用文本编辑器gedit编写一个计算1-5的平方的Shell脚本test2.sh,进一步熟悉表达式的作用。 任务二 学习流程控制结构 4.2.1 分支结构 Shell程序中的条件语句主要有if语句、case语句。 1.if语句 if语句根据表达式的值来决定要执行的程序段落。其语法格式如下: if表达式1 then 语句块1 elif表达式2 then 语句块2 elif表达式3 then 语句块3 … else 语句块n fi 【操作实例4.3】 编写一个Shell脚本test3.sh,接收用户输入的文件名,然后在当前目录下检查该文件是否存在。 2.case语句 case语句为用户提供了根据字符串或变量的值从多个选项中选择一项执行的方法。case语句的语法格式如下: case 字符串 in 值1|值2) 语句块1;; 值3|值4) 语句块2;; 值5|值6) 语句块3;; … esac 【操作实例4.4】 编写一个Shell脚本test4.sh,用case语句建立一个菜单,当用户选择菜单时,执行相应的操作。 4.2.2 循环结构 Shell常见的循环语句有for循环、while循环、until循环。 1.for循环 for循环对一个变量所有可能的值都执行一个命令序列。赋给变量的几个数值既可以在程序内以数值列表的形式提供,也可以在程序以外以参数的形式提供。 for循环的一般格式如下: for循环变量 [in列表] do 语句块 done for语句对[in列表]中的每一项都执行一次。列表可以是包括几个单词并且有空格分隔开的变量,也可以是直接输入的几个值。每执行一次循环,循环变量都被赋予列表中的当前值,直到最后一个为止。[in列表]子句也可
文档评论(0)