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 "执行完毕"