Linux shell编程之循环控制命令 break、continue

一、break命令
break命令用于跳出循环,使用break可以跳出任何类型的循环:for、while、until。

1.跳出单循环

$ cat  test.sh 
#!/bin/bash
a=1
while [ $a -le 5 ]
do
   if [ $a -eq 3 ]
   then
       break
   fi
   echo "a=$a"
   a=$[$a+1]
done
$ ./test.sh 
a=1
a=2
2、跳出内循环

$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
   echo "Outer loop:a=$a"
   a=$[$a+1]
   for val in 1 2 3 4 5
   do 
        if [ $val -eq 3 ]
        then
            break 
        fi
        echo "	Inner loop:val=$val"
        val=$[$val+1]
   done
done
$ ./test.sh
Outer loop:a=1
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=2
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=3
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=4
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=5
	Inner loop:val=1
	Inner loop:val=2
显然,break只跳出了内层循环。外层循环依然执行了5次

3、跳出多层循环
有时需要跳出多层循环,使用:break n,n表示要跳出的循环层数,默认情况下 n=1,代表只跳出当前循环。

$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
   echo "Outer loop:a=$a"
   a=$[$a+1]
   for val in 1 2 3 4 5
   do 
        if [ $val -eq 3 ]
        then
            break 2
        fi
        echo "	Inner loop:val=$val"
        val=$[$val+1]
   done
done
$ ./test.sh 
Outer loop:a=1
	Inner loop:val=1
	Inner loop:val=2
二、continue命令
continue命令用于中止本次循环,重新判断循环条件,开始下一次循环。

$ cat test.sh 
#!/bin/bash
a=1
for val in 1 2 3 4 5
do 
  if [ $val -le 3 ]
  then
       continue
  fi
  echo "val=$val"
done
$ ./test.sh 
val=4
val=5

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值