第18章控制流结构
本章内容有:
• 退出状态。
• while、for和until loops循环。
• if then else语句。
• 脚本中动作。
• 菜单。
18.1 退出状态
主要有4种退出状态。前面已经讲到了两种,即最后命令退出状态$?和控制次序命令(&&、
||)。其余两种是处理shell脚本或shell退出及相应退出状态或函数返回码。在第19章讲到函数时,也将提到其返回码。
要退出当前进程,shell提供命令exit,一般格式为:
exit n
其中,n为一数字。
退出状态0 退出成功,无错误。
退出状态1 退出失败,某处有错误。
18.2 控制结构
for 循环每次处理依次列表内信息,直至循环耗尽。
Until 循环此循环语句不常使用, Until 循环直至条件为真。条件部分在循环末尾部分。
While 循环While 循环当条件为真时,循环执行,条件部分在循环头。
使用if语句时,必须将then部分放在新行,否则会产生错误。如果要不分行,必须使用命
令分隔符。本书其余部分将采取这种形式。现在简单i f语句变为:
if 条件;then
命令
fi
可以用来确定终端是否是交互式的,比如:
[root@Meil89 root]# vi ter
#!/bin/sh
if [ -t ]; then
echo "terminal is ok !"
fi
[root@Meil89 root]# sh ter
terminal is ok
18.2.2 循环
循环或跳转是一系列命令的重复执行过程,本书提到了3种循环语句:
for 循环每次处理依次列表内信息,直至循环耗尽。
Until 循环此循环语句不常使用, Until 循环直至条件为真。条件部分在循环末尾部分。
While 循环While 循环当条件为真时,循环执行,条件部分在循环头。
流控制语句的任何循环均可嵌套使用,例如可以在一个for循环中嵌入另一个for循环。
现在开始讲解循环和控制流,并举一些脚本实例。
从现在起,脚本中echo语句使用L I N U X或B S D版本,也就是说使用echo 方法echo -e -n,意即从echo 结尾中下一行执行命令。应用于U N I X(系统V和B S D)的统一的e c h o命令参阅1 9章s h e l l函数。
18.3 if then else语句
f语句各部分不能为空—一些语句已经可以这样做。为解决此问题,shell提供了:空命令。空命令永远为真(也正是预想的那样)。回到前面的例子,如果目录为空,可以
只在then部分加入命令。
18.4 case语句
阅读(3478) | 评论(0) | 转发(0) |