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命令,只有一点重要差别,它不会跳出循环,只是跳过这个循环步。