【Shell】Shell编程之until、break和continue命令

until命令格式
until test commans
do
    other commands
done

示例:
[root@strong bash_stu]# cat test2.sh 
#!/bin/bash

i=1

until [ $i -gt 5 ]
do
   echo $i
   i=$(($i+1))
done
[root@strong bash_stu]# . test2.sh 
1
2
3
4
5
[root@strong bash_stu]# 

break和continue命令可以用来控制循环;

break命令

该命令是处理过程中跳出循环的方法,可以使用break命令跳出任何类型的循环。
1、跳出单循环
[root@strong bash_stu]# cat test2.sh 
#!/bin/bash

for((i=1;i<=10;i++))
do
  if [ $i -eq 5 ]
  then
     break
  fi   
  echo $i
done
[root@strong bash_stu]# . test2.sh 
1
2
3
4
[root@strong bash_stu]# 
2、跳出内循环
[root@strong bash_stu]# cat test2.sh 
#!/bin/bash

for((i=1;i<4;i++))
do
  echo "Outer loop :" $i
  for((j=1;j<100;j++))
  do
    if [ $j -eq 5 ]
    then
      break
    fi   
    echo "   Inner loop :" $j
  done
done
[root@strong bash_stu]# . test2.sh 
Outer loop : 1
   Inner loop : 1
   Inner loop : 2
   Inner loop : 3
   Inner loop : 4
Outer loop : 2
   Inner loop : 1
   Inner loop : 2
   Inner loop : 3
   Inner loop : 4
Outer loop : 3
   Inner loop : 1
   Inner loop : 2
   Inner loop : 3
   Inner loop : 4
[root@strong bash_stu]#
3、跳出外循环
[root@strong bash_stu]# cat test2.sh 
#!/bin/bash

for((i=1;i<4;i++))
do
  echo "Outer loop :" $i
  for((j=1;j<100;j++))
  do
    if [ $j -eq 5 ]
    then
      break 2
    fi   
    echo "   Inner loop :" $j
  done
done

[root@strong bash_stu]# . test2.sh 
Outer loop : 1
   Inner loop : 1
   Inner loop : 2
   Inner loop : 3
   Inner loop : 4
[root@strong bash_stu]# 

continue命令

continue命令是一种提前停止循环内命令,而不完全终止循环的方法。
示例:如果i大于4小于8,则跳过继续循环
[root@strong bash_stu]# cat test2.sh 
#!/bin/bash

for((i=1;i<=10;i++))
do
  if [ $i -gt 4 ] && [ $i -lt 8 ]
  then
     continue
  fi
  echo $i
done
[root@strong bash_stu]# . test2.sh 
1
2
3
4
8
9
10
[root@strong bash_stu]# 



posted @ 2018-03-31 21:49  追梦男生  阅读(201)  评论(0)    收藏  举报