[理学]3_shell及其shell编程.pdf

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]3_shell及其shell编程

第三讲 shell 及其 shell 编程 概述 shell是UNIX系统用户与操作系统交互的最基本 工具,实际上shell除了有命令解释执行的功能外, 还具备有其他的功能,如: 系统环境的设置 输入输出的重新定向 shell程序语言的设计等。 1 shell 基本概念 不同类型的shell在应用中各有所长,但是它们主要要完成 的功能是相似的。最基本的有以下四个重要功能: 命令的解释执行 环境变量的设置 输入输出的重新定向 shell程序语言的设计等 1.1 UNIX 系统的标准流 流是一个很形象的概念,当程序需要读取数据的时候,就会 开启一个通向数据源的流,这个数据源可以是文件、内存、或是 网络连接。类似的,当程序需要写入数据的时候,就会开启一个 通向目的地的流。这时候你就可以想象数据好像在这其中 “流” 动一样。 在UNIX系统中,文件的组织方式是按字节进行的,文件之间, 设备之间的信息传递是按字节流完成的。因此信息流的概念在UNIX 中很重要。 1.1.1 命令处理流  在操作系统中,如果将命令处理看作是 “加工”,那么向此 “加工”输入的命令信息和由这个 “加工”输出的信息可以看 作信息流。  如果不考虑 “信息流”中包含的具体内容,只关心 “信息流” 和 “加工”之间的关系,我们可以将命令处理中的 “信息流” 描述为: “命令输入信息流”和 “命令输出信息流”,或者简 称为 “命令输入流” “命令输出流”, 它们都属于命令处理 流。 1.1.2 信息流 在UNIX系统中,对输入输出信息流作了如下定义 文件描述符 标准定义 默认映射对象 0 标准输入流 键盘 1 标准输出流 显示器 2 标准错误流 输出错误信息 系统启动Shell程序时缺省给定了3个标准流,标准输入流(stdin), 标准输出流stdout, 标准错误流stderr。之所以这么区分是因为在早期 的计算机系统如PDP-11的一些限制。那时没有GUI,将输出分为 stdout,stderr可以避免程序的调试信息和正常输出的信息混杂在一起。 2 shell 基本功能 2.1 Shell命令解释 2.2 输入输出流重定向 2.3 错误流重定向 2.4 管道线处理 2.5 用户工作环境设置 (*) 2.6 Shell程序设计 2.2 shell输入输出重定向 默认状态下,shell将命令的输入流设定为键盘,输出流设定为 显示器,错误流也定义为显示器。但是在有些情况下,我们可以改 变这些流的设定。改变流的设定常用的符号有 , , 三个符号。 例如: ls - l ls.txt ls - l /home/user1 ls.txt ls - l /home/user1 ls.txt 2.2 shell输入输出重定向 重定向符<表示将标准输入从键盘重新定义到另外的流。 例如:cat infile, 即cat命令将从文件infile中读取参数。 执行一个shell程序也可以使用这种方式。例如 sh user1.sh 就表示要执行user1.sh这个shell程序。 重定向符, ,也能够混合使用,例如: cat infile outfile 表示cat命令从infile中获取命令参数,然后将执行结果输出到文 件outfile中。 2.3 错误流重定向 在UNIX系统中,错误信息流是指在命令或程序执行中出现错误 时系统给出的提示或警告信息,UNIX中将它们

文档评论(0)

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

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

1亿VIP精品文档

相关文档