Shell也使用 break 和 continue 來跳出循環。
break命令
下面的例子中,腳本進入死循環直至用戶輸入數字大於5,使用break跳出這個循環。
#!/bin/bash while : do echo -n "Input a number between 1 to 5: " read aNum case $aNum in 1|2|3|4|5) echo "Your number is $aNum!" ;; *) echo "You do not select a number between 1 to 5, game is over!" break ;; esac done
在嵌套循環中,break 命令后面還可以跟一個整數,表示跳出第幾層循環。
break n
下面是一個嵌套循環的例子,如果 var1 等於 2,並且 var2 等於 0,就跳出循環:
#!/bin/bash for var1 in 1 2 3 do for var2 in 0 5 do if [ $var1 -eq 2 -a $var2 -eq 0 ] then break 2 else echo "$var1 $var2" fi done done
continue命令
continue命令與break命令類似,只有一點差別,它不會跳出所有循環,僅僅跳出當前循環。
同樣,continue 后面也可以跟一個數字,表示跳出第幾層循環。