Linux原理及应用10_SHELL编程ppt课件.ppt

Linux原理及应用10_SHELL编程ppt课件.ppt

ID:58882351

大小:399.00 KB

页数:137页

时间:2020-09-30

Linux原理及应用10_SHELL编程ppt课件.ppt_第1页
Linux原理及应用10_SHELL编程ppt课件.ppt_第2页
Linux原理及应用10_SHELL编程ppt课件.ppt_第3页
Linux原理及应用10_SHELL编程ppt课件.ppt_第4页
Linux原理及应用10_SHELL编程ppt课件.ppt_第5页
资源描述:

《Linux原理及应用10_SHELL编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LINUX原理及应用第九章shell编程虽然最近10年来个人计算的潮流从命令行转向了鼠标界面,但是shell在Linux操作系统中的生命力依然很旺盛,并且为众多的Linux操作系统程序员所使用。shell是一种命令语言,同时又是一种程序设计语言。shell的语言处理能力,使得用户能够方便地定义各种变量、参数,并使用各种控制语句编写复杂的命令程序完成多种工作。shell是一个命令解释器,它可以用来启动、挂起、停止甚至编写程序。shell是Linux操作系统的一个整体组成部分,也是Linux操作系统和UNIX设计的一部分。如果把Linux操作系统的内核想象成一个球体的中心,那

2、么shell就是包围内核的外层。从shell或其他程序向Linux操作系统传递命令的时候,内核就会做出相应的反应。Linux命令执行的几点说明Linux的命令一般就是一个可执行文件。由一个程序经过编译、连接而成。有一定的可执行格式:elf,sh等。Linux一般为命令创建新进程Linux如何创建新进程用户接口:调用fork()内核实现:采用继承的方法,继承父进程的大部分资源,以及父进程的执行体命令的父进程是谁?由启动过程可知:用户登录载入shell(/bin/sh)执行此时在提示符下敲入命令所以命令的父进程为shell子进程要执行自己的代码时,需用exec()Shel

3、l的基本工作原理进入循环打出提示符获得用户输入的命令解释命令(找到相应的可执行文件)创建新进程子进程载入可执行文件执行父进程等待子进程结束子进程结束,父进程继续执行继续循环登录Shell等待键入命令执行命令loginlogout9.1shell概述9.1.1什么是shellshell是一种命令解释程序,shell解释用户输入的命令行,提交系统内核处理,并将结果返回给用户。与Linux命令一样都是实用程序,但两者又有区别。一旦用户注册到系统后,shell就被系统装入内存,并一直运行到用户退出系统为止;而一般命令仅当被调用时,才由系统装入内存。shell本身也是一种可编程的程

4、序设计语言。用shell写的程序(shell脚本)相当于DOS/WINDOWS环境下的批处理文件,它可以简单到只有一条命令,也可以复杂到包括大量循环、条件语句、数学运算、控制结构,也可以是介于两者之间的程序。9.1.2shell程序语言的特点shell允许通过编程来完成复杂的功能处理,但其作为语言与高级语言相比具有不同的特点:(1)shell是解释性的,多数高级语言是编译性的(2)shell语言与高级语言处理的对象不同(3)shell与系统有密切关系(4)shell易编写、调试、灵活性较强(5)shell作为命令级语言,命令组合功能很强。9.1.3shell的版本shel

5、l有两种主要语法类型:Bourneshell和Cshell,彼此不兼容。Bourneshell由StevenBourne编写,是UNIX的缺省shell。Cshell由加州大学伯克利分校的BillJoy编写,其语法类似于C。Bourneshell家族:shkshbashpshzsh;Cshell家族:cshtcsh。其中bash和zsh在不同程度上支持csh语法。Bash的特点:Bash是大多数Linux的缺省shell,它克服了Bourneshell的缺点又与之完全兼容。其特点如下:自动补全功能;输入命令或文件名时,只要按下Tab键就会在可能的命令或文件名中寻找匹配者,

6、找到后自动补齐。命令行编辑程序;可以编辑命令行。命令历史:记录曾经输入的命令以备查用,如按向上键可以调出前一个命令。Bash有两级提示符。第一级提示符就是登录Shell时见到的,默认为“$”。可以通过重新给PS1变量赋值来改变第一级提示符。当Bash需要进一步提示以便补全命令时,它会显示第二级提示符。第二级提示符默认为“>”,可以通过重新给PS2变量赋值来改变第二级提示符。9.2shell的基本功能9.2.1程序的运行当用户输入一行命令后,shell负责解释、分析输入的内容,并且决定做什么,同时替系统内核删除命令行中不必要的信息(包括空格符、水平制表符、换行符等)。命令可

7、以是一个可执行的Linux命令、程序、工具或shell脚本。例如:$ls–lfile1file2file3$echo‘WelcometoTsinghuaUniversity.’$echoWelcometoTsinghuaUniversity.后两个命令的结果完全一样9.2.2使用保留字和元字符shell有些具有特殊意义的字(保留字),如在shell脚本中,像do、done、for、while等保留字控制循环操作,if、then、else等保留字进行条件控制。保留字随shell的不同而不同。在Linux系统里,有一组特殊意义的字

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。