一、循环控制-break语句

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

  1. 要求输出:
  2. 1
  3. 2
  4. 3
  5. 4
  6. 执行完毕

案例代码

  1. #!/bin/bash
  2. #Author: www.zutuanxue.com
  3. #Created Time:
  4. #Script Description:
  5. for i in `seq 1 9`
  6. do
  7. echo $i
  8. if [ $i -eq 5 ]
  9. then
  10. break
  11. fi
  12. done
  13. echo "执行完毕"

二、循环控制-continue语句

作用: 跳过某次循环,继续执行下一次循环;表示循环体内下面的代码不执行,重新开始下一次循环
案例:
循环打印输出数字1到9,当执行输出到5时跳过本次循环。

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

案例代码

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

三、循环控制-sleep

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

  1. #!/bin/bash
  2. #Author:
  3. #Created Time:
  4. #Script Description:
  5. echo -n "倒计时: "
  6. for i in `seq 9 -1 1`
  7. do
  8. echo -n -e "\b$i"
  9. sleep 1
  10. done
  11. echo
  12. echo "执行完毕"

四、参数控制命令-shift

作用: 外部传参到循环时,参数管理命令
使位置参数向左移动,默认移动1位,可以使用shift 2 传参要是N的整数倍
案例:
通过外部传参的方式向脚本内的循环传递参数,要求打印每次循环使用的参数。
案例代码

  1. #!/bin/bash
  2. #
  3. #Author: www.zutuanxue.com
  4. #Created Time:
  5. #Release:
  6. #Description:
  7. #1、判断外传参的数量
  8. [ $# -lt 3 ]&&echo '请输入至少三个参数:'$0' $1 $2 $3 ...'&&exit 1
  9. #将参数的数量赋值给count
  10. count=$#
  11. #通过shift左移参数输出
  12. #使位置参数向左移动,默认移动1位,可以使用shift 2 传参要是N的整数倍
  13. for ((i=1;i<=$count;i++))
  14. do
  15. echo '参数数量: '$#''
  16. echo '当前$1的数值是: '$1''
  17. shift 1
  18. sleep 1
  19. done
  20. echo "执行完毕"

五、脚本退出命令-exit

作用: 退出程序并释放占用的系统资源
案例:
循环输出数字1-9,当循环到5时退出脚本。
案例代码

  1. #!/bin/bash
  2. #Author: www.zutuanxue.com
  3. #Created Time:
  4. #Script Description:
  5. for i in `seq 1 9`
  6. do
  7. echo $i
  8. if [ $i -eq 5 ]
  9. then
  10. exit 0
  11. fi
  12. done
  13. echo "执行完毕"