- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shell编程2.1的
第5章 shell编程;
shell是一种命令语言,同时又是一种程序设计语言。
shell的语言处理能力,使得用户能够方便地定义各种变量、参数,并使用各种控制语句编写复杂的命令程序完成多种工作。
本课介绍shell、shell程序设计语言、shell的运行环境及shell程序的实例。;1 shell概述
1.1 什么是shell
shell是一种命令解释程序(命令解释器),shell解释用户输入的命令行,提交系统内核处理,并将结果返回给用户。与Linux命令一样都是实用程序,但两者又有区别。一旦用户注册到系统后,shell就被系统装入内存,并一直运行到用户退出系统之止;而一般命令仅当被调用时,才由系统装入内存执行。
shell本身也是一种可编程的程序设计语言。用shell写的程序(shell脚本)相当于dos/windows下的批处理文件,它可以简单到只有一条命令,也可以复杂到包括大量循环、条件语句、数学运算、控制结构,也可以是介于两者之间的程序。;1.2 shell程序语言的特点
shell允许通过编程来完成复杂的功能处理,但其作为语言与高级语言相比较具有不同的特点:
(1) shell是解释性的,多数高级语言是编译性的;
(2) shell语言与高级语言处理的对象不同;
(3) shell与系统有密切的关系;
(4) shell易编写、调试、灵活性较强,但速度低;
(5) shell作为命令级语言,命令组合功能很强。;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)
所谓的命令历史就是把曾经输入过的命令记录起来,方便日后的查询与使用。只要按向上键就可以调出前一个命令,再按一次向上键就可以调出更前一个命令,依此类推,用向下键可以回到下个命令,所以用上、下键就可以选择以前输入过的命令。;Shell编程注意事项;1.4 Shell程序的创建与执行;1.5 Shell程序示例;2 shell变量
2.1 shell变量描述
shell实际上是基于字符串的程序设计语言,但也有变量。shell变量能够而且只能存储正文字符串,即它只有一种类型的变量即串变量。但从赋值的形式上看,则可以分成四种类型的变量或变量形式。变量的名字必须以字母或下划线开头,可以包括字母、数字和下划线。
2.2 用户自定义变量
取消变量——unset name
用户自定义变量语法格式: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 book;如果用单引号‘’将值括起来,则括起来的字符串允许出现空格、制表符和换行符的特殊字符,但不允许有变量替换。
例3:
# BOOK=″English book″
# MSG=′$BOOK′
# echo $MSG
$BOOK
例4:
# msg=′ Today is Sunday′
# echo $msg
Today is Sunday
;引用变量的值时,可以用花括号{}将变量名称括起来,使变量名称与它的后续字符分隔开,如果紧跟在变
您可能关注的文档
- PA8000CNC_编程手册的.doc
- Pascal程序设计(第3的课)-For循环.ppt
- PCR基因扩增的.ppt
- perfect电大《民法训魔》2小抄.doc
- PETS 2的.doc
- PETS 3级口语考试说的明.ppt
- PETS4-7的.doc
- PETS3的.doc
- pets_2级词汇总汇的.doc
- PETS公共英语二级考的试复习资料.doc
- 2025年_贵州省住房和城乡建设厅下属事业单位招聘考试笔试试卷【含答案】[附答案].pdf
- 2025年_河北公安厅交通管理总队高速交警招聘考试试卷【含答案】[附答案].pdf
- 2025年_广西壮族自治区医保局下属事业单位招聘考试笔试试卷【含答案】[附答案].pdf
- 2025年_广西壮族自治区交通运输厅下属事业单位招聘考试笔试试卷【含答案】[附答案].pdf
- 2025年安徽省中小学教师考试笔试试题【答案】.pdf
- 2025年广东省戒毒管理局下属事业单位招聘考试笔试试题【答案】.pdf
- 2025年_甘肃陇南省国家保密局事业单位招聘考试笔试试卷【含答案】[附答案].pdf
- 饮食补充剂1417pygeum capsules1417-1418Pygeum胶囊.pdf
- 18 toastmaster fear of public speaking害怕公开演讲.pdf
- ufdev phase设计说明书详细分析.pdf
最近下载
- 意大利cemb(赛博)er60动平衡仪中文操作手册.pdf VIP
- 粮油供货保障方案.docx VIP
- 负压引流器产品技术要求标准2023版.pdf VIP
- 初中英语课外阅读黑布林版渔夫和他的灵魂中文译文.docx VIP
- Oasis montaj7.5 操作手册-Oasis montaj Mapping and Processing软件平台.pdf VIP
- 机械精度设计与检测技术基础第2版杨沿平第七章滚动轴承配合1课件教学.ppt VIP
- 云南省昆明市盘龙区2023-2024学年七年级上学期期末英语试卷.pdf VIP
- 硬膜下血肿的护理常规.pptx
- 2020年牛津译林版7A英语七年级上册Unit2-单元检测卷(含答案).docx VIP
- 机械精度设计与检测技术基础第2版杨沿平第八章键与花键连接1课件教学.ppt VIP
文档评论(0)