一、break命令
break命令用于跳出循环,使用break可以跳出任何类型的循环:for、while、until。
continue命令用于中止本次循环,重新判断循环条件,开始下一次循环。
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