linux软件开发基础_第4章

linux软件开发基础_第4章

ID:34457103

大小:1.47 MB

页数:36页

时间:2019-03-06

linux软件开发基础_第4章_第1页
linux软件开发基础_第4章_第2页
linux软件开发基础_第4章_第3页
linux软件开发基础_第4章_第4页
linux软件开发基础_第4章_第5页
资源描述:

《linux软件开发基础_第4章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于嵌入式技术的——Linux软件开发基础知识回顾Vi基本操作光标相关常用命令编辑相关常用命令分屏操作环境相关使用VI编辑、修改文本IC-MSP<2.0>第章4SHELL编程IC-MSP<2.0>本章目标Shell脚本的作用Shell脚本的基本元素Shell脚本的运行方式条件测试控制流结构IC-MSP<2.0>使用shell脚本的原因¢shell脚本在处理自动循环或大的任务方面可节省大量的时间,且功能强大。¢在嵌入式设备中,进行系统的初始设置。¢自动执行指定的脚本,启动应用程序。IC-MSP<2.0>Shell脚本的基本元素#!XXXXX#命令流程控制函数等IC-MSP<2.0>Shell脚本

2、的执行方式1.直接接行运行2.使用sh命令执行3.使用.执行4.使用source执行IC-MSP<2.0>条件测试(1)写脚本时,有时要判断字符串是否相等,可能还要检查文件状态或是数值测试。基于这些测试才能做进一步动作。test命令用于测试字符串,文件状态和数字,也很适合于下一部分将提到的if、then、else条件结构。IC-MSP<2.0>测试文件状态(1)test一般有两种格式,即:testcondition或[condition]使用方括号时,要注意在条件两边加上空格。选项说明-d是否为目录-f是否为普通文件-l是否为符号连接-r是否可读-s文件长度是否大于0(即是否为非空)-w是否可

3、写-u文件是否有suid位设置-x是否可执行IC-MSP<2.0>测试文件状态(2)范例:使用两种方法测试文件scores.txt是否可写并用最后退出状态测试是否成功。注意:0表示成功,其他为失败。如下图所示:IC-MSP<2.0>测试文件状态(3)上面示例测试scores.txt文件是否可以执行,返回值为1,表示不可执行。IC-MSP<2.0>测试时使用逻辑运算符(1)-a逻辑与,操作符两边均为真,结果为真,否则为假。-o逻辑或,操作符两边一边为真,结果为真,否则为假。!逻辑非,条件为假,结果为真。测试两个文件是否均可读IC-MSP<2.0>测试时使用逻辑运算符(2)测试两个文件中是否有一个

4、为可执行IC-MSP<2.0>字符串测试(1)符串测试有以下5种格式。test“字符串”test操作符“字符串”test“字符串1”操作符“字符串2”[操作符“字符串”][“字符串1”操作符“字符串2”]这里,操作符可为:=两个字符串相等。!=两个字符串不等。-z空串。-n非空串。IC-MSP<2.0>字符串测试(2)下面为测试$LANG环境变量是否为空的列子,如图所示IC-MSP<2.0>数值测试(1)下面为测试$LANG环境变量是否为空的列子,如图所示测试数值可以使用许多操作符,一般格式如下:test“操作数1”操作符“操作数2”或者[“操作数1”操作符“操作数2”]操作符可为:-eq数值

5、相等。-ne数值不相等。-gt第一个数大于第二个数。-lt第一个数小于第二个数。-le第一个数小于等于第二个数。-ge第一个数大于等于第二个数。IC-MSP<2.0>数值测试(2)在shell中执行以下命令:test12–eq12返回值为0,表示12与12相等[12–eq13]返回值为1,表示12与13不相等如下图所示:IC-MSP<2.0>expr计算expr命令一般用于整数值,但也可用于字符串。格式为:expr操作数1运算符操作数2IC-MSP<2.0>流程控制—退出状态如果要观察其退出状态,使用最后状态命令:echo$?要退出当前进程,shell提供命令exit,格式为:exitn其中,

6、n为为数字一数字。如果只在命令提示符下键入exit,假定没有在当前状态创建另一个shell,将退出当前shell。IC-MSP<2.0>流程控制—控制结构为何在shell编编要流控程时要引入流程控制?IC-MSP<2.0>流程控制—ifthenelse(1)if语句测试条件,测试条件返回真(0)或假(1)后,可相应执行一系列语句。if语句结构对错误检查非常有用。其格式为:if条件1then命令1elif条件2then命令2else命令3fiIC-MSP<2.0>流程控制—ifthenelse(2)ò变量值测试通过测试设置为接受用户输入的变量可以测知用户是否输入信息。下面的例子中测试用户键入回车

7、键,后变量NAME是否包含任何信息。如下图所示:IC-MSP<2.0>流程控制—ifthenelse(3)ògrep输出检查if语句不仅可以用于变量或数值测试,也可以测知系统命令是否成功返回。对于grep命令,使用if语句找出grep是否成功返回信息。下面的例子中grep用于查看AaronDu是否在数据文件dtdata.tttxt中,注意‘ADAaronDu>’用于精确匹配。IC-MSP<2.0

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

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

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