10-1shell编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:64 大小:1.9MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

10-1shell编程.ppt

10-1shell编程.ppt

预览

免费试读已结束,剩余 54 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

LinuxShell编程第一个shell程序基于bash的shell程序2024年10月3日星期四2024年10月3日星期四执行该程序shellshell是一种命令解释程序(命令解释器),shell解释用户输入的命令行,提交系统内核处理,并将结果返回给用户。与Linux命令一样都是实用程序,但两者又有区别。一旦用户注册到系统后,shell就被系统装入内存,并一直运行到用户退出系统之止;而一般命令仅当被调用时,才由系统装入内存执行。shell本身也是一种可编程的程序设计语言。用shell写的程序(shell脚本)相当于dos/windows下的批处理文件,它可以简单到只有一条命令,也可以复杂到包括大量循环、条件语句、数学运算、控制结构,也可以是介于两者之间的程序。shell允许通过编程来完成复杂的功能处理,但作为语言与高级语言相比较具有不同的特点:(1)shell是解释性的,多数高级语言是编译性的;(2)shell语言与高级语言处理的对象不同;(3)shell与系统有密切的关系;(4)shell易编写、调试、灵活性较强,但速度低;(5)shell作为命令级语言,命令组合功能很强。shell有两种主要语法类型:Bourneshell和Cshell,彼此不兼容。Bourneshell家族:shkshbashpshzsh;Cshell家族:cshtcsh。其中bash和zsh在不同程度上支持csh的语法。这里,再着重介绍一下bash的特点:(1)自动补全功能假设要输入的命令很长,或者命令后面要给的文件名很长。这个时候只要按一个Tab键,bash就会在可能的命令或文件名里面找寻匹配的命令,找到的话就会自动帮你补齐。(2)命令行编辑程序bash的命令行编辑是在提示符下,可对未执行的命令字符任意地修改。(3)命令历史(commandhistory)所谓的命令历史就是把曾经输入过的命令记录起来,方便日后的查询与使用。只要按向上键就可以调出前一个命令,再按一次向上键就可以调出更前一个命令,依此类推,用向下键可以回到下个命令,所以用上、下键就可以选择以前输入过的命令。Shell两大功能装入UNIX等待命令输入命令行形式1.单条命令:$catfile1最常用命令形式2.多条命令:$pwd;who;date提高键盘命令输入效率3.复合命令:$ps–e|grepstudent2$(ls;catfile3;pwd)>run_log方便灵活,运行效率高4.后台命令:$ls–lR>file_list&多进程并发,充分利用系统资源linux下的shelllinux下的shellShell程序的特点及用途基于bash的shell程序bash程序的运行当用户输入一行命令后,shell负责解释、分析输入的内容,并且决定做什么,同时替系统内核删除命令行中不必要的信息。命令是一个可执行的Linux命令、程序、工具或shell脚本。例1:$ls-lfile1file2file3例2:$echo′WelcometoTsinghuaUniversity.′例3:$echoWelcometoTsinghuaUniversity.注意:例2和例3的结果是完全一样的。使用保留字和元字符shell有一些具有特殊意义的字(保留字),如在shell脚本中,像do、done、for、while等保留字控制循环操作,if、then、else等保留字进行条件控制。保留字随shell的不同而不同。在Linux系统里,有一组特殊意义字符,这就是所谓的元字符(通配符)。现在列出一些常用的通配符的意义,供参考。..上一层目录,与cd命令配合用得比较多.目前工作的目录*任意长度的字符?长度为一个的任意字符[..]括号内的一个字符\m等于某个通配符,如*、?等[a-z]*小写字母开头的所有字符串\转义符号,用以解除特殊字符的特殊意义~用户目录;分隔符,当命令行有多个命令时,做分隔用$BourneShell的提示符,同时也作为shell语言的位置变量参数#做注释用|建立一个管道,使一命令的输出作为另一个命令的输入&将命令以后台方式执行>将命令的输出重导入文件中<将命令的输入流指定为由文件中加载,和>相反>>将命令的输出加在一个已经存在的文件后面{..}括号内的一个字符串例:$lst*显示当前目录下以t打头的所有文件。常用bash环境变量echo命令的使用echo命令的基本功能就是在标准输出上显示后面的字符串,或变量的值。当字符串中带空白符或其它控制字符时,用引号将其括起来。例如:$echo1234512345$echo“departmentcomputer”departmentcomputer