一、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

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐