shell编程与文本编辑(vi)题稿.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
shell编程与文本编辑 8.1 shell编程 8.1.1 shell基础 shell是用C语言写的一个程序,它虽然与系统在一起并且作为系统的一部分提供给用户,但它不是操作系统的核心部分,它属于普通用户程序, 是命令的解释程序。 8.1.1.1 shell命令及其表示方式 在shell程序中,一个命令行是由一系列的参量(argument)组成,参量与参数之间用空格或制表符隔开。第一个参量(位置计数为0)即是命令的名字。 命令行的一般格式为:参数0 参数1 参数2 …… 例如:cat file1 file2 file3 在这个命令行中共有四个参量,第一个参数cat是命令的名字,其余三个是文件名,其意思是打开文件file1、file2和file3。 如果命令行的第一个参量(即命令名的位置)是一个文件,而这个文件是可执行的,那么这个可执行的文件: A.可能是一个已经被编译过的程序,在这种情况下,直接运行这个程序即可 B.如果文件被标记为可执行的,但它不是被编译这的程序,那么就认为它是一 个shell过程。也就是说,它是一个包括了一些shell命令行的普通文本文 件。遇到这种情况,shell读这个文件,并且执行包含在文件中的一些shell 命令。 8.1.1.2 shell程序所用的命令路径 通常,shell从文件系统的三个不同的地方查找所用的命令,查找的顺序为: 当前目录、目录/bin、目录/usr/bin。这样的机制,给多个用户执行的公共命令提供发一种方便的方法。 8.1.1.3 文件名匹配符 shell程序使用了三种匹配符: (1)* 星号:匹配任何字符串,包括空字符,但不含符号“.” 例如:/u/data/* 表示目录/u/data下所有的文件 /u/data/*ab 表示目录/u/data下所有以ab字母结尾的文件 /u/data/*.c 表示目录/u/data下所有以.c结尾的文件 (2)? 问号:匹配一个任何字符或数值, 但不含符号“.” 例如:/u/data/? 表示目录/u/data下只含一个字母的文件 /u/data/f?b 表示目录/u/data下以f字母开头、以b字母结尾而且只含 三个字符的文件 (3)[…] :在方括号中,可以是任何字符或数值序列。 A.它可以匹配方括号中所包含的任何一个字符。 例如:[abdf] 等于或a、或b、或d、或f B。在方括号里面,由小横杠隔开的一对字符或数值,可以与这对字符或数值给 出的范围中任意字符或数值匹配。 例如:[a-d] 等于abcd [1-6] 等于123456 C.在方括号里面,字符“!”表示不包含。 例如:[!A-Z] 等于不含从A至Z的大写字母 注意:目录名字中不应包含下列字符中的任何一个:* ?与 [ ],如果在目录中使用了这些字符,那么在按照指定字符串查找与之相匹配的名字时,可能出现无限循环。 8.1.1.4使用引号 对shell来说,引号的作用是删除特殊字符的特殊含义。Shell程序中的特殊字符有: * ? [ ] # $ 要使这些字符失去在shell中的特殊意义,需要某些形式的引用。 引用方式有三种: (1)单引号“′”把特殊字符括起来。 在单引号中引用的全部字符,都将失去它的特殊意义。 例1:在键盘上输入下列信息: aaa=testing echo `Parameter \$aaa is $aaa` 将显示结果为:Parameter $aaa is $aaa 例2:在键盘上输入下列信息 aaa=testing echo `Parameter \$aaa is` $aaa 将显示结果为:Parameter $aaa is testing 结果表明:单引号中引用的字符$,已经失去了它的特殊意义 (2)使用双引号““”把特殊字符括起来。 在双引号中引用的全部字符,除特殊意义的字符$、$(command)、\、`、”外,其它字符都将失去它的特殊意义。 例3:在键盘上输入下列信息

文档评论(0)

4477769 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档