標籤:
Linux指令碼中的break continue exit return
break
結束並退出迴圈
continue
在迴圈中不執行continue下面的代碼,轉而進入下一輪迴圈
exit
退出指令碼,
常帶一個整數給系統,如 exit 0
return
在函數中將資料返回
或返回一個結果給調用函數的指令碼
我理解為:break是立馬跳出迴圈;continue是跳出當前條件迴圈,繼續下一輪條件迴圈;exit是直接退出整個指令碼
例如:
在迴圈過程中,有時候需要在未達到迴圈結束條件時強制跳出迴圈,Shell使用兩個命令來實現該功能:break和continue。
break命令
break命令允許跳出所有迴圈(終止執行後面的所有迴圈)。
下面的例子中,指令碼進入死迴圈直至使用者輸入數字大於5。要跳出這個迴圈,返回到shell提示符下,需要使用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
continue
continue命令與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!"
continue
echo "Game is over!"
;;
esac
done
運行代碼發現,當輸入大於5的數字時,該例中的迴圈不會結束,語句
代碼如下:
echo "Game is over!"
永遠不會被執行。
Shell指令碼之break,continue,和exit區別