- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5讲 Shell编程
shell是一种命令语言,同时又是一种程序设计语言。 shell的语言处理能力,使得用户能够方便地定义各种变量、参数,并使用各种控制语句编写复杂的命令程序完成多种工作。 本课介绍shell、shell程序设计语言、shell的运行环境及shell程序的实例。 5.1 shell概述 5.1.1 什么是shell shell是一种命令解释程序(命令解释器),shell解释用户输入的命令行,提交系统内核处理,并将结果返回给用户。与Linux命令一样都是实用程序,但两者又有区别。一旦用户注册到系统后,shell就被系统装入内存,并一直运行到用户退出系统之止;而一般命令仅当被调用时,才由系统装入内存执行。 shell本身也是一种可编程的程序设计语言。用shell写的程序(shell脚本)相当于dos/windows下的批处理文件,它可以简单到只有一条命令,也可以复杂到包括大量循环、条件语句、数学运算、控制结构,也可以是介于两者之间的程序。 5.1.2 shell程序语言的特点 shell允许通过编程来完成复杂的功能处理,但其作为语言与高级语言相比较具有不同的特点: (1) shell是解释性的,多数高级语言是编译性的; (2) shell语言与高级语言处理的对象不同; (3) shell与系统有密切的关系; (4) shell易编写、调试、灵活性较强,但速度低; (5) shell作为命令级语言,命令组合功能很强。 5.1.3 bash的特点 shell有两种主要语法类型: Bourne shell和C shell,彼此不兼容。Bourne shell家族:sh ksh bash psh zsh;C shell家族:csh tcsh。 其中bash和 zsh在不同程度上支持 csh 的语法。 这里,我们再着重介绍一下bash的特点: (1) 自动补全功能 假设要输入的命令很长,或者命令后面要给的文件名很长。这个时候只要按一个Tab键,bash就会在可能的命令或文件名里面找寻匹配的命令,找到的话就会自动帮你补齐。 (2) 命令行编辑程序 bash的命令行编辑是在提示符下,可对未执行的命令字符任意地修改。 (3) 命令历史(command history) 所谓的命令历史就是把曾经输入过的命令记录起来,方便日后的查询与使用。只要按向上键就可以调出前一个命令,再按一次向上键就可以调出更前一个命令,依此类推,用向下键可以回到下个命令,所以用上、下键就可以选择以前输入过的命令。 5.1.4 Shell程序的创建与执行 用任一文本编辑器创建shell文件 (xxx)(例如: gedit xxx) 将shell文件改为可执行文件(例如:$chmod u+x xxx) 执行shell文件(例如:$./ xxx) 5.1.5 Shell程序示例 以test运行“附件”中“文本编辑器”程序 gedit 在新建空白文档中输入如下内容:datepwdcd .. 保存文件到 / home/test /xxx 中 修改文件权限,运行“系统工具”中“终端”,输入:chmod u+x xxx Enter 输入 ./xxx Enter 5.2 shell变量 5.2.1 shell变量描述 shell实际上是基于字符串的程序设计语言,但也有变量。shell变量能够而且只能存储正文字符串,即它只有一种类型的变量即串变量。但从赋值的形式上看,则可以分成四种类型的变量或变量形式。变量的名字必须以字母或下划线开头,可以包括字母、数字和下划线。 5.2.2 用户自定义变量 用户自定义变量语法格式:name=string,赋值号“=”两边不允许有空白符。 例: nodehost=beijing.UUCP path=/bin:/usr/bin:/etc/bin count=10 允许多个赋值操作,按从右到左的顺序进行。 例: $A=$B B=abc C=″OK″ $ echo $A $B $C abc abc OK 当引用一个未设置的变量时,其隐含值为空。 例: $ echo ″$mail is path of mailbox″ is path of mailbox 如果用双引号“”将值括起来,则括起来的字符串允许出现空格、制表符和换行符等特殊字符,而且允许有变量替换。 例1:$ MAIL=/var/mail/fk $ var=″$MAIL is path of mailbox″ $ echo $var /var/mail/fk is path of mailbox 例2: $ str=″This is \n a book″ $ echo $str This is a b
您可能关注的文档
最近下载
- 小学科学新教科版二年级上册第一单元 造房子教案(共6课)(2025秋).docx VIP
- 2025年广西公需科目第二套答案.docx VIP
- 设备供货配送方案.docx VIP
- 现代农业发展情况课件.ppt VIP
- 2025年广西专业技术人员继续教育公需科目(二)答案.docx VIP
- 《急诊与灾难医学》全套课件.pptx
- 精通版五年级英语上册Lesson3_教学课件.ppt VIP
- 农村公路畅通工程质量检测方案(第三方检测及交工验收).docx VIP
- 《现代农业发展》课件.ppt VIP
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战.docx VIP
文档评论(0)