嵌入式操作系统开发
学习内容:
一:expr命令
格式 : expr expression(命令读入expression参数,计算他的值,然后将结果写入标准输出)
参数应用规则:
1.用空格隔开每个项;
2.用 \ (反斜杠)放在shell特定的字符前面
对包含空格和其他特殊字符的字符串要用引号括起来。
3.计算字符串长度
4.增量计数
说明:expr在循环中用于增量计算,先将变量初始化为0,然后循环值加1,反引号的用法是命令替代
二:while循环语句
while<判别令>
do<命令清单>
done
当<判别令>返回0时(对于test命令,就是其后的表达式成立),则执行do后的命令清单,然后再重做循环,否则退出循环
while控制常与shift命令结合使用
eg:编写一个shell脚本exist,用于判别其后用参数方式指定的一系列文件是否存在
eg:使用while语句创建一个计算1-5的平方的shell
eg:使用while语句创建一个输入exit退出的shell程序
3:until循环语句
until控制流于while控制流用法相似,但作用相反
until <判别令>
do <命令清单>
done
当<判别令>返回非0值时,执行do后的命令清单,然后检查循环条件,当<判别令>返回0值时,退出循环
4.break和continue
有时需要基于某些准则退出循环或跳过循环shell提供了两个命令实测功能
break 跳出整个循环
continue 跳出本次循环
5.here
在shell还可以利用所谓的“here文本”功能,即可在脚本文件中嵌入一段文档,作为脚本中所使用的命令的标准输入。
<命令><<!
<作为文本内容>
!
其中“!”符号也可以使用“EOF”,“END”等替换
使用here文本,可以方便的将一些需要进行的用户交互的命令放入shell脚本中
一行行的删除test.sh里的代码
bash ./demo.sh test.sh
6:函数
所有函数在使用前必须定义,这意味着必须将函数定义在脚本开始的部分,直到shell解释器首次发现他时,才可以使用
向函数传递参数
向函数传递参数和向普通脚本传递参数是一样的,也是用$1,$2,$3
从函数中返回
当调用完函数,那么主程序可能需要得到函数的返回值。在函数中得到函数返回值可以使用以下方法:
6.1,在函数末尾加return,从函数中返回,用最后的命令状态决定返回值
6.2,返回数值,如0或1格式return 0 或者 return 1
获取函数的返回值:
用户可以直接在程序调用完函数的时候获取它的返回值,
7.source
source在Linux中也被称为点命令,也就是一个符号(.)
使用source执行脚本时,脚本会在父进程中执行,各种操作都会在原本的bash内生效
source命令通常用于重新执行刚刚修改过初始化文件,使之立即生效,而不必注销并重新登录
用法:
source 文件名
或者 .文件名