shell循环控制

一、循环控制-break语句

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

要求输出:
1
2
3
4

执行完毕

案例代码

#!/bin/bash
#Author: www.zutuanxue.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
6
7
8
9
执行完毕

案例代码

#!/bin/bash
#Author: www.zutuanxue.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,每秒倒数一次。

案例代码

#!/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的整数倍

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

案例代码

#!/bin/bash
# 
#Author: www.zutuanxue.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时退出脚本。

案例代码

#!/bin/bash
#Author: www.zutuanxue.com
#Created Time: 
#Script Description: 

for i in `seq 1 9`
  do
      echo $i
      if [ $i -eq 5 ]
 	then
	   exit 0  
	fi
done
echo "执行完毕"
posted @ 2021-10-29 23:11  1769987233  阅读(131)  评论(0编辑  收藏  举报