Skip to content

Latest commit

 

History

History
80 lines (65 loc) · 1.74 KB

A05.md

File metadata and controls

80 lines (65 loc) · 1.74 KB

Shell脚本编程

Shell跳出循环

在循环过程中,有时候需要在未达到循环结束条件时跳出循环,Shell使用break命令和continue命令来跳出循环。

break命令

break命令允许跳出所有循环,即终止后面所有的循环。在嵌套循环中,break命令后面可以跟一个整数,表示跳出第几层循环,例如break n。 第一个例子break

#!/bin/bash
while :
do
  echo -n "Enter a number between 1 to 5:"
  read num
  case $num in
    1|2|3|4|5)
      echo "Your number is :$num"
      ;;
    *)
      echo "Game is over!"
      break
      ;;
  esac
done

第二个例子

#!/bin/bash
for var in 1 2 3
do
  for var2 in 0 5
  do
    if [ $var1 -eq 2 -a $var2 -eq 0 ]
    then
      break 2
    else
      ehco "$var1 and $var2"
    fi
  done
done

注:第二个例子的执行结果如下:

1 and 0

1 and 5

continue命令

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。在嵌套循环中,continue命令后面可以跟一个整数,表示跳出第几层循环,例如continue n

对break命令中的第一个例子做如下改动,则会有不一样的效果。

第一个例子continue

#!/bin/bash
while :
do
  echo -n "Enter a number between 1 to 5:"
  read num
  case $num in
    1|2|3|4|5)
      echo "Your number is :$num"
      ;;
    *)
      echo "Game is over!"
      continue
      ;;
  esac
done

exit命令

exit命令用于退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设状态值参数,则shell以预设值退出。状态值0代表执行成功;其他值代表执行失败。