笔记系列
嵌入式系统方向学习笔记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脚本中,