- 论坛徽章:
- 0
|
所有功能脚本必须有能力进行判断,也必须有能力基于一定条件处理相关命令。本章讲
述这方面的功能,在脚本中创建和应用控制结构。
本章内容有:
• 退出状态。
• while、f o r和until loops循环。
• if then else语句。
• 脚本中动作。
• 菜单。
退出状态
使用最后状态命令:
$ echo $?
要退出当前进程,s h e l l提供命令e x i t,一般格式为:exit n,其中,n为一数字。
这样可以在s h e l l脚本中加入自己的退出状态。
if语句基本结构
if 条件1
then 命令1
elif 条件2
then 命令2
else 命令3
fi
i f语句必须以单词f i终止。
使用i f语句时,必须将t h e n部分放在新行,否则会产生错误。如果要不分行,必须使用命
令分隔符(;)。
c a s e语句为多选择语句。可以用c a s e语句匹配一个值与一个模式,如果匹配成功,执行相
匹配的命令。c a s e语句格式如下:
case 值i n
模式1 }
命令1
. . .
; ;
模式2)
命令2
. . .
;;
e s a c
c a s e工作方式如上所示。取值后面必须为单词i n,每一模式必须以右括号结束。取值可以
为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至;;。
取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续
其他模式。如果无一匹配模式,使用星号*捕获该值,再接受其他输入。
for循环
f o r循环一般格式为:
for 变量名i n列表
d o
命令1
命令2
d o n e
until循环
u n t i l循环执行一系列命令直至条件为真时停止。u n t i l循环与w h i l e循环在处理方式上刚好
相反。一般w h i l e循环优于u n t i l循环,但在某些时候—也只是极少数情况下, u n t i l循环更加
有用。
u n t i l循环格式为:
until 条件
命令1
. . .
d o n e
条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。
s l e e p命令用法,它经常用于u n t i l循环中,因为必须让循环体内命令睡眠几秒钟再执行,
否则会消耗大量系统资源。
while循环
w h i l e循环用于不断执行一系列命令,也用于从输入文件中读取数据,其格式为:
while 命令
d o
命令1
命令2
. . .
d o n e
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11500/showart_57110.html |
|