在循環(huán)過程中浅萧,有時候需要在未達到循環(huán)結(jié)束條件時強制跳出循環(huán)盲泛,像大多數(shù)編程語言一樣有鹿,Shell也使用 break 和 continue 來跳出循環(huán)茉继。
break命令
break命令允許跳出所有循環(huán)(終止執(zhí)行后面的所有循環(huán))。
下面的例子中纹烹,腳本進入死循環(huán)直至用戶輸入數(shù)字大于5页滚。要跳出這個循環(huán),返回到shell提示符下铺呵,就要使用break命令裹驰。
運行結(jié)果:
在嵌套循環(huán)中,break 命令后面還可以跟一個整數(shù)片挂,表示跳出第幾層循環(huán)幻林。例如:
break n
表示跳出第 n 層循環(huán)贞盯。
下面是一個嵌套循環(huán)的例子,如果 var1 等于 2沪饺,并且 var2 等于 0躏敢,就跳出循環(huán):
如上,break 2 表示直接跳出外層循環(huán)整葡。運行結(jié)果:
continue命令
continue命令與break命令類似件余,只有一點差別,它不會跳出當(dāng)層循環(huán)掘宪,僅僅跳出當(dāng)次循環(huán)蛾扇。
對上面的例子進行修改:
運行代碼發(fā)現(xiàn),當(dāng)輸入大于5的數(shù)字時魏滚,該例中的循環(huán)不會結(jié)束镀首,語句
永遠不會被執(zhí)行。
同樣鼠次,continue 后面也可以跟一個數(shù)字更哄,表示跳出第幾層循環(huán)。
再看一個 continue 的例子:
運行結(jié)果: