Chapter9-可编程的shell_、shell变量和环境.pptVIP

Chapter9-可编程的shell_、shell变量和环境.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unix/Linux编程 北京化工大学 信息科学与技术学院计算机系 易军凯 yijk@ 第九章 可编程的shell 、shell变量和环境:编 写自己的shell 概念与技巧: Unix shell是一种编程语言 什么是shell脚本语言?shell如何处理脚本语言? shell如何处理结构化的工作?exit(0)=success 为什么需要shell变量以及如何使用shell变量 什么是环境?它是如何工作的? 相关系统调用: exit getenv 相关命令: env 9.1 shell编程 9.2 什么是以及为什么要使用shell脚本语言 9.3 smsh1-----命令行解析 9.4 shell的流程控制 9.5 shell变量:局部和全局 9.6 环境:个性化设置 9.7 已实现的shell的功能 主要内容: Shell程序,一般称之为设shell脚本,是Unix的重要组成部分,Unix的引导程序和很多管理程序都使用shell脚本。 Shell是一个编程语言解释器,这个解释器解释从键盘输入的命令,也解释存储在脚本中的命令序列. shell脚本是一个包含一系列命令的文件,运行一个脚本就是运行这个文件中的每个命令. 9.1 shell编程 9.2 什么是以及问什么要使用shell脚本语言 Sh的编程特征:变量、I/O和if..then 脚本中除了命令之外还包括以下元素: 1 变量 脚本中可以定义变量,在script2中,定义了名为 BOOK和NAME两个变量 2 用户输入 read命令告诉shell要从标准输入中读入一个 字符串 3 控制 这个脚本中包括if..then..else..if控制语句,另外还 有while、case和for 4 环境 脚本使用一个名为HOME的变量.HOME的值是你 主目录的路径 9.3 smsh1-----命令行解析 shell的主函数: int main() { char *cmdline,*prompt,**arglist; int result; void setup(); prompt=DEL_PROMPT; setup(); while((cmdline=next_cmd(propmt,stdin))!=NULL){ if((arglist=splitline(cmdline))!=NULL){ result=execute(arglist); freelist(arglist);} free(cmdline);} return 0; } 一个有信号,通出和解析的shell 从输入流中读入一个命令 将一个字符串分解为字符串数组,并返回这个数组 使用fork、execvp、wait来运行一个命令 9.3 smsh1——命令行解析 9.4.1 if语句做些什么? 答案:条件检测 程序如何表示成功 (1)exit(0)表示成功 grep程序调用函数exit(0)来表明成功.所有的Unix程序都遵从以0退出表明成功这一惯例.比如,diff命令用来比较两个文本文件.类似地,mv.cp和rm都以相同的方式表明成功. (2)带有else的if语句 else部分就像then部分一样,可以包含任意数量的命 9.4 shell的流程控制 9.4.2 if是如何工作的? If 语句的工作流程主要如下: (1)shell运行if之后的命令 (2)shell检查命令的exit 状态 (3)exit为0表示成功,非0表示失败 (4)如果成功,shell执行then部分的代码 (5)如果失败,shell执行else部分的代码 (6)关键字fi表示if 结束 令,包括其他的if..then 语句.if语句还有另一个特征.如果if后的条件是一系列的命令,那么最后一个命令的exit值被用作这个语句块的条件值,并由此来决定条件是否成立. 1、增加一层:process smsh1的控制流从splitline直接到fork,每个命令都被直接传给exec.新的版本中,以if.then或者fi开始的行和条件失败时then语句块中的命令行不传给exec.添加if语句后使命令处理变得复杂,所以要写一个名

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档