目录
5.1.1 示例1:continue—显示1到10,除了数字3
5.1.3示例3:多重循环-遇到3结束内循环,然后外循环继续。
1、循环的含义
将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件
重复运行次数
-
循环次数事先已知
-
循环次数事先未知
常见的循环的命令:for, while, until
2、for语句
语法结构
-
列表循环
-
不带列表循环
-
类C风格的for循环
2.1 列表循环
语法
for 变量名 in {list}
do
command
done
花括号的用法
花括号{}和seq在for循环的应用:
- for i in {1..50..2} 1-50的奇数
- for i in {2..50..2} 1-50的偶数
- for i in {10..1} 1-10倒序排列
- for i in $(seq 10) 1-10正序排列
- for i in $(seq 10 -1 1) 1-10倒序排列
- for i in $(seq 1 2 10) 1-10的奇数,中间为步长
2.2 不带列表循环
语法:
for 变量名
do
command
done
2.3 类似C语言风格的for循环
语法:
for ((expr1;expr2;expr3))
do
command
doneexpr1:定义变量并赋初值
expr2:决定是否循环
expr3:决定循环变量如何改变,决定循环什么时候退出
sum+=i 等于 sum=sum+i
#需要使用 let 命令
++ 自身变量+1 -- 自身变量-1 += 自身变量+5 -= 自身变量-5 *= 自身变量*5 /= 自身变量/5 %= 自身变量%5
执行机制:
- 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束
- 如果省略 [in WORDS ... ] ,此时使用位置参数变量 in "$@"
2.3.1 示例:显示1-10之间的所有奇数
2.3.2 示例:计算1到100的和
2.3.3 示例:打印99乘法表
3、while
相对于for,需要知道循环次数;如果我们只知道停止条件,不知道次数,就需要使用while
直到达到条件
3.1 while循环语法结构
while :
do
command
done
3.2 示例
3.2.1 示例一:计算1到100的和
3.2.2 示例二:批量建立用户
4、until
until 循环与 while 循环类似,while 循环能实现的脚本 until 同样也可以实现,但区别是while 循环在条件为真是继续执行循环,而 until 则是在条件为假时执行循环
4.1 until循环语法结构
until 条件测试操作
do
命令序列
done
4.2 示例
4.2.1 示例1:计算1 到100的和
5、双重循环及跳出循环
-
break跳出单个循环 break n 数字数字是几代表跳出n层循环
-
continue终止某次循环中的命令,但是不会完全终止命令
-
exit 直接退出脚本