linux基础(十九)—-linux编程基础—-linux循环控制语句—-break中断和continue继续
最后更新于:2022-04-01 11:24:59
break和continue的使用是紧密和while循环联系在一起的。
## 使用break快速退出
你曾碰到过想骑车跑一英里却在半路停下来的事情吗?事实上,这样的事情也同样会发生在程序执行while循环的过程中。脚踏车有一个安全刹车来迫使它停下来,而在while循环中这个安全刹车就是保留字break。
while循环一直循环到它的条件变为假才停止。如果想在循环的条件未改变之前就退出循环,那该怎么办呢?不妨用break语句。
请看下面使用break语句的例子:
~~~
let n=1
while ["$n" -eq 1]
do
echo "Enter your name or type stop to end:"
read name
case $name in
"stop")
break
;;
esac
done
echo "Good-bye!"
~~~
这个程序请求用户输入一个用户名或输人stop来退出循环。只要用户输人的不是stop ,程序就显示一条问候语。用户输入了stop后,case语句就叫程序中断(break ),它立即退出循环,并继续执行保留字done后的指令。在这个例子中,程序最后显示Good-bye!
## 使用continue语句重新循环
使用到达循环的开始有时,程序并不必执行放入循环体中的所有指令。如果使用continue语句,程序将跳过循环体中antinue后面的其余指令。请看下面使用continue语句的例子:
~~~
declare n =1
while [$n -eq 1]
do
echo "Enter your name yr type stop to end:”
read name
echo "Enter your employee number;"
read num
case $name in
"stop")
if ["$num" -eq 1 ]
then
continue
else
break
fi
;;
*)
echo "Hello,$name"
esac
done
echo "Good-bye!"
~~~
计算机首先请求用户输人用户名和数字。
在用户输入了他的名字后,程序显示对他的问候语。
若用户输入的是stop和非1的数字,它用保留字break退出循环,并跳到程序的最后一条指令(即done之后的一条指令),显示Good-bye!
continue语句使程序跳过循环体中它后面其余的语句,并直接跳到循环的开始(顶部),而不显示问候信息。在到达循环的开始(顶部)之后,它重新核对条件,并决定是否再次执行循环体中的指令。