嵌入式系统方向学习笔记8

笔记系列

嵌入式系统方向学习笔记1
嵌入式系统方向学习笔记2
嵌入式系统方向学习笔记3
嵌入式系统方向学习笔记4
嵌入式系统方向学习笔记5
嵌入式系统方向学习笔记6
嵌入式系统方向学习笔记7



shell流程控制语句

shell流程控制语句:
条件控制:if,case等结构
循环控制:for,while,until等结构
在shell中,条件判断语句可以使用if条件语句和case条件语句,case语句的选项多


提示:以下是本篇文章正文内容,下面案例可供参考

一、if条件语句

用法:

	if<判别令>;   then{
    
    命令清单1}
	then{
    
    命令清单2}            //else可以省略
	fi

//通常为test的表达式,如果只写表达,则需要中括号括起(中括号两 边要有空格 )如果判别式返回0,则执行then后面的命令清单;反之,则执行else后的命令

二、case条件语句(猜拳游戏)

if条件语句用于两个选项中选定一个选项,而case为用户提供了根据字符串或变量的值从多个选项中选择一项方法。

case<变量>in
<字符串1>{
    
    <命令清单1>};;
….
<字符串1>{
    
    <命令清单n>};;
*){
    
    其他命令};;
esac

在这里插入图片描述
eg:假如给出月份数字作为参数,就能编写一个回送月份名的脚本month,当给出的数字不在1和12之间时,将得到出错信息

在这里插入图片描述

三.for语句循环

代码如下:

for<循环变量> [in <循环变量取值集>]
do<命令清单>
done

如果for语句的后半句被省略,则默认的<循环变量取值集>就是命令行参数集
如果命令清单有多条命令,系统会依次执行
在这里插入图片描述

四.expr命令

expr:求表达式变量的值,一般用于整数,可以用于字符串
格式:expr expression(命令读入expression参数,计算它的值,然后将结果写入标准输出)
参数应用规则:
1、用空格隔开每个项;
2、用\ 放在shell特定的字符前面,对包含空格和其他特殊字符的字符串要用""括起来
在这里插入图片描述
特殊符号隔开
在这里插入图片描述
不隔开报错在这里插入图片描述
3、计算字符串长度
在这里插入图片描述
4、增量计数
说明:expr在循环中用于增量计算,先将变量初始化为0,然后循环加1,反引号的用法是命令替代

五.while循环

代码如下:

while<判断式>
do<命令清单>
done

当判断式返回0(对于test命令,就是其后的表达式成立),则执行do后的命令清单,然后再重新循环;否则退出循环
while控制常于shift命令结合使用

例题:
编写一个shell脚本exist,用于判断其后用参数指定的一系列文件是否存在

在这里插入图片描述
例题:
用while创建一个计算1到5的平方的shell
在这里插入图片描述

六.until循环

until控制流与while控制流用法类似,但作用相反
代码如下:

until<判断令>
do<命令清单>
done

当<判别令>返回非0值时,执行do后的命令清单,然后检查循环条件,当返回0时,退出循环

七.here

在shell中还可以例用所谓的“here文本”功能,即可在脚本文件中嵌入一段文档,作为脚本中所使用的命令的标准输入

<命令><<!

其中!符号也可以使用EOF,END等替换
使用here文本,可以方便的将一些需要进行用户交换的命令放到shell脚本中,
在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/llalal/article/details/115108758