linux,shell学习(四)

控制流结构

1.控制结构6.while循环

2.ifthenelse语句7.until循环

3.case语句8.break控制

5.for循环9.continue控制

ifthenelse

if条件1如果条件1为真

then那么

命令1执行命令1

elif条件2如果条件1不成立而条件2成立

then那么

命令2执行命令2

else如果条件1,2均不成立

命令3那么执行命令3

fi完成

case语句

case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:

case值in

模式1}

命令1

...

;;

模式2)

命令2

...

;;

esac

for循环

for循环一般格式为:

for变量名in列表

do

命令1

命令2⋯

done

当变量值在列表里,for循环即执行一次所有命令,使用变量名访问列表中取值。命令可为任何有效的shell命令和语句。变量名为任何单词。in列表用法是可选的,如果不用它,for循环使用命令行的位置参数。in列表可以包含替换、字符串和文件名。

while循环

while循环用于不断执行一系列命令,也用于从输入文件中读取数据,其格式为:

while命令

do

命令1

命令2

...

done

虽然通常只使用一个命令,但在while和do之间可以放几个命令。命令通常用作测试条件。只有当命令的退出状态为0时,do和done之间命令才被执行,如果退出状态不是0,则循环终止。命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。

until循环

until循环执行一系列命令直至条件为真时停止。until循环与while循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。

until循环格式为:

until条件

命令1

...

done

条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。

使用break和continue控制循环

break命令允许跳出循环。break通常在进行一些处理后退出循环或case语句。如果是在一个嵌入循环里,可以指定跳出的循环个数。例如如果在两层循环内,用break2刚好跳出整个循环。

continue命令类似于break命令,只有一点重要差别,它不会跳出循环,只是跳过这个循环步。

相关推荐