- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章 Linux下的shell编程
第九章 Shell编程 计算机学院 王书芹 本章学习目标 了解shell编程的基本概念及其特点 掌握shell各种变量的区别 掌握正则表达式的使用方法 熟悉shell的各种流程控制 了解shell的函数及调试方法 目录 9.1 Shell概述 9.2 创建和执行shell程序 9.3 变量 9.4 位置参数 9.5 特殊字符 9.6 运算符(补) 9.1 Shell概述 Shell就像一个壳层,这个壳层介于用户和操作系统之间,负责将用户的命令解释为操作系统可以接收的低级语言,并将操作系统响应的信息以用户可以了解的方式来显示。 9.1 Shell概述 Shell角色图 9.1 Shell概述 从用户登陆到注销期间,用户输入的每个命令都会经过解译及执行,其负责机制就是shell。 shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。 有一些命令,如改变工作目录命令cd,是shell内置命令。还有一些命令,例如拷贝命令cp和移动命令mv,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。 #find / -name cd #find / -name cp 9.1 Shell概述 shell的主要版本 在Linux系统中常见的shell版本有以下几种。 (1)Bourne shell(sh):它是UNIX最初使用的shell,并且在每种UNIX都可以使用。它在shell编程方面相当优秀,但处理与用户的交互方面不如其他几种shell。 (2)C shell(csh):它最初由Bill Joy编写,它更多地考虑了用户界面的友好性,支持如命令补齐等一些Bourne shell所不支持的特性,但其编程接口做得不如Bourne shell。C shell被很多C程序员使用,因为Cshell的语法和C语言的很相似,Cshell也由此得名。 (3)Korn shell(ksh):它集合了C shell和Bourne shell的优点,并且和Bourne shell完全兼容。 9.1 Shell概述 (4)Bourne Again shell(bash):bash是大多数Linux系统的默认shell。它是Bourne shell的扩展,并与Bourne shell完全向后兼容,而且在Bourne shell的基础上增加和增强了很多特性。。 (5)t csh:它是Cshell的一个扩展版本,与csh完全向后兼容,但它包含了更多使用户感觉方便的新特性,其最大的提高是在命令行编辑和历史浏览方面。它不仅和Bash shell提示符兼容,而且还提供比Bash shell更多的提示符参数。 (6)pdksh:它是一个专门为Linux系统编写的Korn shell(ksh)的扩展版本。Ksh是一个商用shell,不能免费提供,而pdksh是免费的。 9.1 Shell概述 9.1 Shell概述 判断登入shell 使用echo命令来查询系统的“SHELL”环境变量,命令如下: #echo $SHELL 9.1 Shell概述 暂时变更shell 除非是在受限的shell中,否则若要变更使用shell,只要执行该Shell程序名称(shell_name),即可切换到不同的Shell。如: #sh(或#csh等等) 此处的shell_name是指shell的名称(例如,sh或csh)。暂时变更shell,可在其它的shell中进行试验。 键入exit或CTRL-D可以回到原始的shell中。 9.1 Shell概述 9.1 Shell概述 Shell功能介绍 交互式处理(Interactive Processing) 接收来自用户输入的命令后,shell 会根据命令类型的不同来执行,执行完毕后,shell 会将结果回传给用户,并等待用户下一次输入。用户执行exit 或是按 Ctrl+D 来注销 shell 才会结束。 9.1 Shell概述 命令补全功能 指用户输入命令后,有时不需输入完整的命令,而系统会自动找出最符合的命令名称,这种功能可以节省输入长串命令的时间。 不需要输入完整的文件名,只需输入开头几个字母,然后按Tab键时候,系统会补充完整,连续按两次Tab(Esc)键系统会显示所有符合输入前缀的文件名称。 若忘了命令的全名,而只记得命令的开头字母,按Tab键一次会补充完整,连续按两次Tab(Esc)键系统会显示所有符合输入前缀的命令名称。 9.1 Shell概述 查阅历史记录-history命令 在Linux系统上输入命令并按下Enter后
您可能关注的文档
最近下载
- 老年妇科患者围手术期管理中国专家共识(2024年版).pptx VIP
- 2023《关于党的建设的重要思想》微党课精品课件.ppt VIP
- 老年妇科患者围手术期管理中国专家共识(2024版)解读PPT课件.pptx VIP
- 生态系统课件课件.ppt VIP
- 《西方艺术鉴赏》课件.ppt VIP
- 成人肠造口护理-2019中华护理学会团体标准.pptx VIP
- 上海市绿色社区创建状况调查和发展对策研究.pdf VIP
- 第一现场震撼世界的不朽影像黑镜头精选珍藏本 阿夏 285页.pdf VIP
- 心血管-肾脏-代谢综合征患者的综合管理中国专家共识2025解读-1.pptx
- 2024年国网新疆电力有限公司高校毕业生招聘450人(第二批)笔试参考题库附带答案详解.doc
文档评论(0)