您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 大学课件 > 第21章 Shell编程
第21章Shell编程无法想象没有Shell的Linux会是什么样子。从一开始,Linux就是黑客们的玩具,在Linux的世界里,没有什么是不可控的。如果想要成为一名高级Linux用户,那么Shell编程是必须跨过的一道坎。本章将从正则表达式开始,逐步介绍Shell编程的基本知识。这些内容对于没有任何编程经验的读者可能有点困难,不过想一想将要接触到的激动人心的技术,请打起精神来!21.1正则表达式正则表达式广泛地应用在各种脚本编程语言中,包括Perl、PHP、Ruby等。Linux的各种编程工具也大量采用了正则表达式。可以说,有字符串处理的地方,就有正则表达式的身影。本节简要介绍正则表达式的基本语法。在开始之前,首先关心一下正则表达式的“定义”。21.1.1什么是正则表达式正则表达式概述21.1.2不同风格的正则表达式1.POSIX库2.PCRE库。21.1.3快速上手:在字典中查找单词egrep命令21.1.4字符集和单词匹配字符串21.1.5字符类21.1.6位置匹配1.“^”匹配行首2.“$”匹配行尾21.1.7字符转义转义字符“\”21.1.8重复21.1.9子表达式(or)21.1.10反义反义“^”21.1.11分支分支字符用“|”来分隔21.1.12逆向引用(\.*\)——匹配任意长度的单词。第1个子表达式。.?——匹配0个或1个标点符号。由于在句点之前匹配的是单词,因此句点“.”在这里只能匹配标点。()*——匹配0个或多个空格。第2个子表达式。\1——指代第1个子表达式匹配到的模式。如果第1个子表达式匹配到单词cart,那么这里也自动成为cart。21.2Shell脚本编程本节将正式开始介绍Shell脚本编程,严格地说是BASH编程,这个“外壳”程序将贯穿于整本书。本节将尽可能多而清晰地向读者展现Shell编程的魅力,但也只是“尽可能多”而已。的确,要在这样一个小节内讲述Shell编程的全部细节是不现实的,很多介绍Shell编程的努力最终都变成了厚厚的一本书。读者如果希望了解更多这方面的内容,那么介绍UNIXShell编程的经典书籍都是值得推荐的资料。一再强调的是,本节的内容只适合入门。21.2.1我需要什么工具1.Vim和Emacs2.gedit和kate21.2.2第一个程序:HelloWorld使用文本编辑器建立文件21.2.3变量和运算符本节介绍变量和运算符的使用。变量是任何一种编程语言所必备的元素,运算符也是。通过将一些信息保存在变量中,可以留作以后使用。通过本节的学习,读者将学会如何操作变量和使用运算符。1.变量的赋值和使用2.变量替换3.位置变量4.BASH引号规则5.运算符21.2.4表达式求值1.num2.expr命令21.2.5脚本执行命令和控制语句本节将介绍Shell脚本中的执行命令以及控制语句。在正常情况下,Shell按顺序执行每一条语句,直至碰到文件尾。但在多数情况下,需要根据情况选择相应的语句执行,或者对一段程序循环执行。这些都是通过控制语句实现的。1.if选择结构2.case多选结构21.2.6条件测试几乎所有初学Shell编程的人都会对这部分内容感到由衷的困惑。Shell和其他编程语言在条件测试上的表现非常不同,读者在C/C++积累的经验甚至可能会帮倒忙。理解本节对顺利进行Shell编程至关重要,因此,如果读者是第一次接触的话,请耐心地读完这冗长的一节。1.if判断的依据2.test命令和空格的使用21.2.7循环结构循环结构用于反复执行一段语句,这也是程序设计中的基本结构之一。Shell中的循环结构有3种:while、until和for,下面逐一介绍这3种循环语句。1.while语句2.until语句3.for语句21.2.8读取用户输入read命令21.2.9脚本执行命令下面介绍另两条用于控制脚本行为的命令exit和trap。前者退出脚本并返回一个特定的值,后者用于捕获信号。合理地使用这两条命令,可以使脚本的表现更为灵活高效。1.exit命令2.trap命令21.2.10创建命令表21.2.11其他有用的Shell编程工具本节介绍一些有用的Shell工具。这些工具在之前的章节中没有出现,但是可能对从事Shell编程的用户会很有用。其中一些和脚本编程密切相关,另一些则是关于文件操作的。表21.9列出了这里将要介绍的命令工具及其简要描述。1.cut命令2.diff命令3.sort命令4.uniq命令5.tr命令6.wc命令7.substr命令8.seq命令21.2.12定制工具:安全的delete命令delete命令21.3Shell定制本节介绍如何在Shell中设置环境变量,以及如何使用别名。到目前为止,读者已经掌握了足够多的和Shell有关的知识,这部分的内容将帮助读者定制自己的Shell。创建一个足够顺手的工作环境总会让人心情愉快。21.3.1修改环境变量printenv命令21.3.2设置别名alias命令21.3.3个性化设置:修改.bashrc文件.bashrc文件的重要性
本文标题:第21章 Shell编程
链接地址:https://www.777doc.com/doc-4661704 .html