- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8讲Shell程序设计分析
第8讲 Shell程序设计 Shell的含义 Shell 既是一种命令语言,又是一种程序设计语言 作为命令语言,它交互式地解释和执行用户输入的命令 作为程序设计语言,它定义了各种变量和参数,并提供了在高级语言中才有的控制结构,如循环和分支。 目前流行的Shell ash:Linux中占用资源最少的一个小Shell,它只包含24个内部命令 bash: Linux系统默认的Shell,包含40个内部命令 ksh:与商业发行版的ksh兼容,包含42个内部命令 csh:是 Linux比较大的内核,共包含52个内部命令 zsh:是 Linux最大的Shell之一,共包含84个内部命令,若没有特殊用途,没有必要安装。 Shell基本语法 输入输出重定向 “” 输出重定向到一个文件 “” 输出追加到一个文件 “” 输入重定向 管道“|” 前台与后台 前台:command 后台:command Shell常用命令 bash命令解释程序包含了一些内部命令。内部命令在目录列表时是看不见的,它们由shell本身提供 。 1. echo 命令格式:echo arg 功能:在屏幕上打印出由arg指定的字符串。 2. eval 命令格式:eval args 功能:当shell程序执行到eval语句时,shell读入参数args,并将它们组合成一个新的命令,然后执行。 Shell常用命令 3. exec 命令格式:exec 命令 命令参数 功能:当shell执行到exec语句时,不去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程,也就是最初的shell就终止了,所以shell程序中exec后面的语句将不再被执行。 4. export 命令格式:export 变量名 或:export 变量名=变量值 功能:shell可以用export把它的变量向下带入子shell从而让子进程继承父进程中的环境变量。但子shell不能用export把它的变量向上带入父shell。 注意:不带任何变量名的export语句将显示出当前所有的export变量。 Shell常用命令 5. readonly 命令格式:readonly 变量名 功能:将一个用户定义的shell变量标识为不可变的。不带任何参数的readonly命令将显示出所有只读的shell变量。 6. read 命令格式: read 变量名表 功能:从标准输入设备读入一行,分解成若干字,赋值给shell程序内部定义的变量。 7. shift语句 功能:shift语句按如下方式重新命名所有的位置参数变量:$2成为$1,$3成为$2……在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数“$#”减一,直到减到0。 Shell常用命令 8. wait 功能:是shell等待在后台启动的所有子进程结束。Wait的返回值总是真。 9. exit 功能:退出shell程序。在exit之后可有选择地指定一个数字作为返回状态。 10. “.”(点) 命令格式:. Shell程序文件名 功能:使shell读入指定的shell程序文件并依次执行文件中的所有语句。 创建和执行shell程序 1.创建一个别名文件:(bash)示范文件myenv,内容如下: alias dir=’ls’ alias copy=’cp’ 2.在Linux下可以用以下方法来执行mynev. chmod命令: #chmod +x mynev 命令行上: #. /mynev、 3.执行mynev后,就能从命令行上用dir来获得当前目录下的文档列表 4.使用文件mynev中的新的命令的最好的方法是将它们放进shell的login或profile文件。 变量 3种类型: 环境变量:系统提供,不用定义,可以修改 内部变量:系统提供,不用定义,不能修改 用户变量:定义,可以修改 与其他语言的区别:非类型性质,也就是不必指定变量是数字或字符串等。 变量 给变量赋值locunt=0 访问变量值lcount=$var 变量举例 这是一个有关shell程序my1的例子: var=”string” newvar=”Value of var is $var” echo $newvar 执行shell程序my1,可得到如下的结果: Value of var is string 内部变量 部分内部变量及其作用 变量 作用 $# 传给shell程序的位置参数的数目 $? 最后命令的完成码或在shell程序内所执行的shell程序 $0
您可能关注的文档
- 第8章码分多址(CDMA)移动通信系统(一)分析.ppt
- 第8章索引分析.ppt
- 第8章编译预处理分析.ppt
- 第8章汽油机混合气的形成和燃烧分析.ppt
- 第8章结构吊装工程分析.ppt
- 第8章系统的状态变量分析分析.ppt
- 第8章网站导航与风格分析.ppt
- 园林绿化工程专项施工方案分析.docx
- 第8章网络编程分析.ppt
- 第8章汽车空调系统维修分析.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)