- 1、本文档共119页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 Shell及其编程 计算机学院 潘 薇 panwei117@ 本章要点 3.1 Shell概述 3.2 Shell脚本 3.3 Shell脚本变量 3.4 Shell控制结构 3.5 Shell函数 3.1 Shell概述 3.1 Shell概述 Shell是用户和Linux(或者更准确的说,是用户和Linux内核)之间的接口程序。你在提示符下输入的每个命令都由Shell先解释然后传给Linux内核。 Shell 是一个命令语言解释器,拥有自己内建的Shell命令集。此外,Shell也能被系统中其他有效的Linux 实用程序和应用程序所调用。 3.1 Shell概述 Shell具有的主要功能有: 命令解释功能:将用户可读的命令转换成计算机可理解的命令,并控制命令执行。 输入/输出重定向:操作系统将键盘作为标准输入、显示器作为标准输出。当这些定向不能满足用户需求时,用户可以在命令中用符号“”或“”重新定向。 管道处理:利用管道将一个命令的输出送入另一个命令,实现多个命令组合完成复杂命令的功能。 系统环境设置:用Shell命令设置环境变量,维护用户的工作环境。 程序设计语言:Shell命令本身可以作为程序设计语言,将多个Shell命令组合起来,编写能实现系统或用户所需功能的程序。 3.1 Shell概述 Linux操作系统主要提供的几种Shell: Bourne Shell C Shell Korn Shell bash (Bourne Again Shell) tcsh zsh bash是大部分Linux操作系统使用的默认Shell 3.1.1 Bourne Shell Bourne Shell由Steve Bourne在贝尔实验室开发,是大多数UNIX操作系统默认的Shell,系统提示符为“$”,简称为B-Shell。 如果在用户管理文件/etc/passwd中将用户的Shell设置成sh,用户的默认Shell就是B-Shell,即用户登录进入的是B-Shell。 如果用户在C-Shell、K-Shell环境下输入命令sh也可以切换到B-Shell。从Shell退出则键入“exit”。 3.1.2 C Shell C Shell由Bill Joy在Berkeley开发,因C Shell在程序语言结构上和C相似,故称为C Shell(或C-Shell),系统提示符为“%”。 如果在用户管理文件/etc/passwd中将用户的Shell设置成csh,用户的默认Shell就是C-Shell。在其他Shell环境下通过输入命令csh可以切换到C-Shell。 与其他Shell比较,C-Shell更适合交互式环境。C-Shell最突出的特征是有历史(history)命令。历史命令用于存储最近使用的命令。用户可以定义存储历史命令的数量、显示历史命令、编辑并重新使用编辑后的命令。 3.1.2 C Shell 例 设置C Shell的history。 %set history=5 %cd %pwd /home/zhouxx %cd zhouxx %history 21 set history=5 22 cd 23 pwd 24 cd zhouxx % 3.1.2 C Shell 输入! !则重复前一条命令: %!! history 21 set history=5 22 cd 23 pwd 24 cd zhouxx % 输入!$ 则重复指定的命令。 %!23 pwd /home/zhouxx % 3.1.2 C Shell 另外,C Shell还有一个特别的用途,就是可以将新的Shell命令归到默认Shell路径下。方法是只需在使用新命令之前先用命令:rehash。 例 现有新编Shell命令netsend。 %netsend netsend:Commans not found %rehash %netsend % 3.1.3 Korn Shell Korn Shell(简称K-Shell)由贝尔实验室的David Korn开发。 Korn Shell和Bourne Shell有许多兼容的地方,如系统提示符也是$,环境变量的设置格式完全相同。 不同的是Korn Shell有些内置功能可以从Shell直接定义。与C Shell相比,Korn Shell除了有历史命令之外,还有更好的命令编辑形式。 与C-Shell一样,K-Shell也有历史文件。 3种shell的比较 Bourne Shell是大多数UNIX操作系统默认的Shell,系统提示符为“$”,简称为B-Shell。 C Shell在程序语言结构上和C相似,故称为C Shell(或C-Shell
文档评论(0)