循环和分支(二)
多重循环
就像C,Java一样,bash同样可以实现多重循环,下面的例子简单的实现双重循环,如果加上循环控制可能就更难一些了。
1 | for ((i=0;i<5;i++)) |
循环控制
影响循环行为的语句。有 break
和 continue
两个循环控制命令,break 命令可以终止循环,而continue可以跳过当前循环提前进入下一次循环,这里和C语言定义的类似。
下面举一个简单的break和continue的例子;
1 | LIMIT=9 |
简单的break循环只能跳出最内容的循环,而不能跳出多层的循环,可以使用 break N
来跳出多层循环。n为想要跳出循环的层数。
和break像似的continue,同样可以使用 continue N
来实现。这里使用到了一个非常简单明了的例子
1 | #!/bin/bash |
测试和分支
使用 case
和 select
结构体,不像一个循环,因为它没有一个迭代的一个过程,但是它们能够通过条件指导程序的流向。
通过程序块控制程序流向
Case (in) /esac
在bash中的case结构类似C中的switch结构,是在拥有多种条件下可以使用到的代码块。case结构可以参见下面代码。 (其实是可以有condition的左边的括号的,嗯,可以加上的)
1 | case "$variable" in |
下面以后会非常有用处的例子
1 | #! /bin/bash |
select
select是和case结构意义相同的结构体,可以使用自定义的PS3也就是选择提示符。格式如下:
1 | select variable [in list] |
简单实例,这个例子不完整需要再去考虑很多东西。
1 |
|