- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
shell教程
SHELL教程
青岛中天公司系统集成部
2004年
Shell教程
□ 前言
对于一些例行的重复性工作,我们总希望能由机器自动完成。如果你使用的是Unix操作系统,那么编写一个小Shell程序是个聪明的办法,可以让你轻松地完成任务。
Shell程序在功能上和一般的高级语言不相上下,使用起来相对灵活,功能强大。但不用担心,在你看完这本教程之后,你会发现编写一个Shell程序并不是件很难的事情。
□ Shell概念
Shell是Unix操作系统提供的命令解释器或者说是一种命令语言,是用户与操作系统之间的接口。当你注册到Unix系统的任何一个用户,系统都会为你启动一个Shell,Shell会一直等待你的指令,当你输入的命令被确认后,Shell便对其进行解释并产生系统调用,完成相应操作,然后,又进入等待状态。换句话说,当你一登录到Unix系统,就开始了与Shell的对话。在此工作期间,你不断地与 Shell交互,不断地对Shell发出命令来指挥系统完成各种工作(进入文本编辑器时除外)直到你退出系统。
事实上Unix提供了三种Shell,分别是Bourne Shell、C-Shell和Korn Shell。这三种Shell大体相同,只在某些地方有所区别。其中 Bourne Shell 在各种不同的 Unix 版本中都是一致的,所以也叫做标准Shell,或者简称 Shell。而其它几种 Shell不能简称,必须全称,这是为了不必要的混淆。对于每一个用户来讲,执行一个程序只能选择其中一种Shell,一般是Bourne Shell。当然也可以使用其它Shell,这需要在建立用户的时候指明,或在具体执行某一个程序时特殊指定你所选择的命令解释器。下面将要介绍的内容如非特别声明都是针对Bourne Shell的。
Shell作为命令型的编程语言,有不同于其它高级语言之处,它不支持复杂的结构,但有非常灵活的使用方式和便捷的手段。通过它,你将能打开Unix的强大功能之门,进入浩瀚的应用空间!
□ Shell的特点和优点
1) 输入/输出的重定向可以很轻易的改变输入输出的来源和目的地。
2) 连接管道可将一个命令的输出作为另一命令的输入。
3) 可以将Shell命令键入一个文件,通过执行这个文件来达到执行若干命令的目的。
4) 在不中断前台操作的情况下,可通过后台方式运行其它命令。
5) 可以把系统命令、Shell命令进行适当的组合,构成一个新命令。
6) 可以执行多种命令,包括Shell内部命令,Unix系统命令,编译好的可执行文件
甚至Shell传递的位置参数。
□ Shell程序
概念
如果你要重复执行一个或少数几个命令,在命令行上输入就足够了,但如果要执行的命令有十几个或几十个,恐怕就会很麻烦。但你可以将这些命令放到一个文件中,通过文件名来执行这些命令(就象DOS中的批处理)。在Unix系统中,不但可以完成这种操作,还可以象高级语言一样,完成更复杂的操作。
把在命令行上可以执行的命令,以文本的形式存放到一个文件中,这就是一个Shell程序。它以行为单位,执行时会被自动地一行一行的执行。程序名就是存放这些命令的文件名。
或者说,一个Shell程序就是一个文本文件,该文件中存放了一系列(若干行)Shell可识别的Unix命令。
二、执行
一个Shell程序编辑完成以后,如果要执行,只需在命令行上敲入: sh 文件名 并回车就行了。 如: # sh myprogram ENTER
另外还有其它几种执行Shell程序的方法,建议你在阅读完本教程以后再去了解。它们放在附录1中。
三、一个简单的Shell程序
大家都知道#pwd回车后会产生的效果,也知道再执行cal命令后是什么样,但当这两个命令被放到一个文件中(假设文件名为test),然后在命令行通过敲入sh test并回车后,又会是什么结果呢?
按照上面说的去做:
首先在命令行提示符“#”后面用vi编辑器编辑一个叫test的文件:
#vi test
回车并在文件中写入下面两个命令:
pwd
cal
最后存盘退出
:x
这时,在命令行“#”号后面敲入sh test并回车,其结果为:先显示出当前路径,然后再显示日历。
这就是一个Shell程序,当然是一个非常简单的Shell程序,它只有两行:一行是pwd,另一行是cal。
□ Shell基础知识
特殊符号
在Shell中有一些符号具有特殊的含义,可以用来实现某些功能,现分述如下:
星号(*):可以匹配任何字符串,包括空串。如:echo * 命令将显示当前目录下所有的文件和目录名,lf aa* 显示所有以aa开头的文件或目录名。使用* 做匹配符时,应特别小心,
您可能关注的文档
最近下载
- (完整版)党员发展对象试题题目和答案.pdf VIP
- 2025年天翼云高级运维工程师认证参考试题库资料(含答案).pdf
- 石油企业质量安全环保论文.docx VIP
- 水处理药剂投标文件格式.docx VIP
- AI 软件开发行业市场调研分析报告.docx
- 0.中国中铁建筑施工典型异常工况安全处置工作指引宣贯材料.pptx VIP
- ANCA相关性血管炎的诊治.ppt
- 石油健康安全环保论文.doc VIP
- 阅读理解专项+标题的含义及作用++++课件(共29张ppt)++2023-2024学年统编版语文七年级上册.pptx VIP
- GB_T 1094.11-2022 电力变压器 第11部分:干式变压器.docx VIP
文档评论(0)