for ((i=1;i<5;i++ )) do if [ $i -eq 3 ] then # break # continue # exit fi echo $i done echo OK 輸出的結果 break的結果 1 2 OK continue的結果 1 2 4 OK exit的結果 1 2
上面的腳本可以看出:
break 表示跳出整個循環。
continue 表示跳出本次循環,繼續下一次循環。
exit 退出shell程序,並返回n值。
return 表示函數返回值 (注意return命令不能直接用在腳本的主程序里)
#!/bin/bash dir=/root/shell grep -e '^ .*cp ' -e '^cp' $dir/* >Cp_Check.txt if [ ! -s Cp_Check.txt ] then return 0 fi
直接執行腳本是會報錯的
return: can only`return' from a function or sourced script
當前用source或.(點)執行。
return 與 exit的區別:
1、exit用於在程序運行的過程中隨時結束程序,exit的參數是返回給OS的。exit是結束一個進程,它將刪除進程使用的內存空間,同時把錯誤信息返回父進程。而return是返回函數值並退出函數
2、return是語言級別的,它表示了調用堆棧的返回;而exit是系統調用級別的,它表示了一個進程的結束。