嵌入式系统开发小白学习笔记(9)

上期回顾

嵌入式开发小白学习笔记(8)

嵌入式系统开发工具(接上期)

shell变量类型

(四)变量表达式

1、test时shell程序中的一个表达式,通常用在流程控制for、while、until、if等结构中,用test命令判断文件的存在与性质,变量的相互关系
语法:test<表达式>
如果<表达式>成立,test返回0,反之返回一个非0值。
2、字符串比较(比较的是长度)
(1)-z<字符串>判断字符串长度是否等于0,若等于0则返回0。
(2)-n<字符串>判断字符串长度是否大于0,若大于0则返回0。
(3)<字符串1>=<字符串2>判断两个字符串是否相同,相同则为是返回0,等号两边要有空格判断使用==.
在这里插入图片描述
(4)<字符串1>!=<字符串2>判断两个字符串是否相同,不同则为是,返回0.
3、两个数值的比较
逻辑操作,可以进行and/or,与其他条件联合使用
文件操作,例如文件是否存在文件的状态等
4、数字比较(比较的是大小,符合条件返回0)
<数值表达式1> <算符> <数值表达式2>(算符两边要有空格)
(1)<字符串> -eq <字符串>判断两者是否相等,相等则为是,返回0.
(2)<字符串> -ne <字符串>判断两者是否不等,不等则为是,返回0
(3)<字符串> -lt <字符串>判断前者是否小于后者,小于则为是,返回0
(4)<字符串> -le <字符串>判断前者是否小于等于后者,小于等于则为是,返回0
(5)<字符串> -gt <字符串>判断前者是否大于后者,大于则为是,返回0
(6)<字符串> -ge <字符串>判断前者是否大于等于后者,大于或等于则为是,返回0
在这里插入图片描述

5、文件操作
文件测试表达式是为了测试文件操作逻辑
(1)-e:对象是否存在,存在返回值为0.
(2)-d:对象存在且为目录,则返回值为0.
(3)-f:对象存在且为文件,则返回值为0.
(4)-L:对象存在且为符号连接,则返回值为0.
(5)-r:对象存在且可读,则返回值为0.
(6)-s:对象存在且长度非0,则返回值为0
(7)-w:对象存在且可写,则返回值为0.
(8)-x:对象存在且可执行,则返回值为0.
(9)!:测试条件的否定。(与上述的符号用空格隔开)
在这里插入图片描述
6、逻辑测试
常用于逻辑测试<表达式>有:
(1)!<表达式>:<表达式>不成立
(2)<表达式1> -a <表达式2>:<表达式1>与<表达式2>同时成立
(3)<表达式> -o <表达式2>:<表达式1>或<表达式>成立

shell语句流程控制语句

1、条件控制:if、case结构
(1)if条件语句
用法:
if<判别令>;
then{命令清单1}
then{命令清单2} //else语句可以省略
fi
2、循环控制:for、while、until等结构
注意:在shell中,条件判断语句可以使用if条件语句和case条件语句,case语句的选项比较多。

猜你喜欢

转载自blog.csdn.net/m0_52251623/article/details/114995225