网站大量收购独家精品文档,联系QQ:2885784924

第5次课第三章Shell编程〔研〕.pptVIP

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5次课第三章Shell编程〔研〕

本章概要 什么是Shell脚本 正则表达式与grep命令 用Bash Shell编程 什么是Shell脚本? 一个shell脚本程序(shell script)是包含Linux命令的文本文件。 我们可以使用任何标准编辑器输入Linux命令。例如vi、emacs、WordPerfect,以及任何GNOME或KDE的文本编辑器。 一个Shell脚本就是一组Shell的命令和语句,把它们放在一个文件里。 可以交互式地运行这些脚本,也可以计划在未来的某个时间里自动地或无人监管地运行某个脚本。 为什么要建立Shell程序呢 举一个例子。 DOS在文本文件每一行的结尾都有一个换行符和一个回车作为标记; Linux(其他UNIX系统也是一样)在每一行的最后只使用一个换行符。 如果我们使用带有-b选项的vi编辑器打开一个DOS文件,将看到在每一行在最后都有一个^M符号。这个^M代表ctrl+M,它表示的是回车符。 在Linux系统上,通过使用带-d选项的tr命令可以很容易地将DOS文本文件中的那些额外的回车符去掉。 tr命令——字符翻译 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。 使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。 tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。 大小写转换。 去除控制字符。 删除空行。 tr命令格式 tr[option]…string1[string2] 字符串string1中的输入字符映射到string2中的对应字符。 各选项的含义如下: -c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。 -d 删除字符串1中所有输入字符。 -s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。 注意:指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。 举例说明tr的用法: tr “[a-z]” “[A-Z]” /etc/passwd 把/etc/passwd文件输出到屏幕上,并把所有的小写字母变成大写字母。 tr “[a-z]” “[b-za]” ~/.bashrc 把.bashrc输出到屏幕上,但是字符是经过循环处理的。 我们将一个名filename.dos的DOS文本文件转换为名为filename.linux的Linux文本文件。可以输入下面的命令: $tr –d “[\015]” filename.dos filename.linux 注:‘\015’是用八进制数表示的回车符的ASCII码。 同许多UNIX程序一样,tr的读写操作都是针对标准输入和标准输出的设备,所以我们在此必须使用I/O的重定向,才能利用tr删除一个文件中所有指定字符,并将输出存入另一个文件中。 我们可以把下面这行存储到一个名为dos2linux的文件中: tr –d “[\015]” $1 $2 ? (注:Bash有一些专门存储命令行参数的变量。在一个Shell脚本中,$0表示该Shell脚本的名字;变量$1 、$2等表示命令行参数。 ) 类比:在C程序中main函数参数表中的参数 main(int argc , char *argv[]) ? 然后,通过使用下面的命令将其做成可执行文件: $chmod +x dos2linux 假如我们有一个挂装为/dosc的MS-DOS分区,可以试用一下dos2linux这个Shell程序: $dos2linux /dosc/autoexec.bat aexec.bat 编写脚本和编写程序有什么不同 脚本和程序之间的区别是,脚本是一个文本文件。在该文件里写命令并执行文件无需中间步骤。 反之,程序要运行必须对程序的源代码进行编译。由编译器生成计算机能够读懂的可执行机器代码。 Shell支持大多数编程语言结构,比如: 变量和数组 参数传递 逻辑和流程结构(if…then…else块、与、或、非) case 语句 循环结构(until、while、for) 函数(内部及用户定义的) 注释脚本的文档 系统编程语言和脚本语言 系统编程语言“从头开始”设计数据结构和算法,从最基本的内存单元开始设计;脚本语言则是在现有的多功能库基础上实现新功能。 系统编程语言是强类型语言,有助于处理复杂的问题;而脚本语言则一般不使用类型,用于简化元件之间的关系,可以快速开发。 系统编程语言的历史 系统编程语言先是作为汇编语言的替代品。汇编语言反映机器的每一个层面,每一条语句代表单一的机器指令。程序设计者要做很低级的事情,诸如调用寄存器、处理杂事等。因此,用汇编语言编写及维护大型程序,是相当困难的。 50年代

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档