一、循环控制-break语句

作用: 终止循环,执行循环体后面的代码
案例:
循环打印输出数字1到9,当执行输出到5时终止循环。

1
2
3
4
5
6
7
要求输出:
1
2
3
4

执行完毕

案例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
#Author: www.test.com
#Created Time:
#Script Description:

for i in `seq 1 9`
do
echo $i
if [ $i -eq 5 ]
then
break
fi
done


echo "执行完毕"

二、循环控制-continue语句

作用: 跳过某次循环,继续执行下一次循环;表示循环体内下面的代码不执行,重新开始下一次循环

案例:
循环打印输出数字1到9,当执行输出到5时跳过本次循环。

1
2
3
4
5
6
7
8
9
10
要求输出:
1
2
3
4
6
7
8
9
执行完毕

案例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
#Author: www.test.com
#Created Time:
#Script Description:
for ((i=1;i<10;i++))
do
if [ $i -eq 5 ]
then
continue
else
echo $i
fi

done
echo "执行完毕"

三、循环控制-sleep

作用: 控制循环的节奏,控制循环频率
当执行一个无限循环语句的时候,如果任意其循环那么该循环就会疯狂的消耗计算机的内存和CPU资源,消耗最大的就是CPU,所以一个循环不可能让其肆意循环,必须控制其循环的节奏,可以使用sleep语句来完成。

案例:
写一个倒计时程序:从9到1,每秒倒数一次。

案例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
#Author:
#Created Time:
#Script Description:

echo -n "倒计时: "
for i in `seq 9 -1 1`
do
echo -n -e "\b$i"
sleep 1
done
echo
echo "执行完毕"

四、参数控制命令-shift

作用: 外部传参到循环时,参数管理命令
使位置参数向左移动,默认移动1位,可以使用shift 2 传参要是N的整数倍

案例:
通过外部传参的方式向脚本内的循环传递参数,要求打印每次循环使用的参数。

案例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
#
#Author: www.test.com
#Created Time:
#Release:
#Description:
#1、判断外传参的数量
[ $# -lt 3 ]&&echo '请输入至少三个参数:'$0' $1 $2 $3 ...'&&exit 1

#将参数的数量赋值给count
count=$#

#通过shift左移参数输出
#使位置参数向左移动,默认移动1位,可以使用shift 2 传参要是N的整数倍
for ((i=1;i<=$count;i++))
do
echo '参数数量: '$#''
echo '当前$1的数值是: '$1''
shift 1
sleep 1
done
echo "执行完毕"

五、脚本退出命令-exit

作用: 退出程序并释放占用的系统资源

案例:
循环输出数字1-9,当循环到5时退出脚本。

案例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
#Author: www.test.com
#Created Time:
#Script Description:

for i in `seq 1 9`
do
echo $i
if [ $i -eq 5 ]
then
exit 0
fi
done
echo "执行完毕"

六、作业

break 和 exit语句的区别

七、学习视频

视频:循环控制01
视频:循环控制02
视频:循环控制-shift
视频:脚本控制语句-exit