一個極簡腳本直觀展示 break(跳出整個循環)與 continue(跳過本次迭代)的行為差異,建議親手運行體會。
test.sh#!/bin/bash
for index in 1 2 3 4 5 6 7 8 9 10
do
if [ $index -le 3 ]; then
echo "continue"
continue
fi
echo $index
if [ $index -ge 8 ]; then
echo "break"
break
fi
done
[ckl@zhao-test tmp]$ ./test.sh
continue
continue
continue
4
5
6
7
break
| index | 條件判斷 | 動作 | 輸出 |
|---|---|---|---|
| 1,2,3 | -le 3 真 | continue 跳過後續,直接進入下一輪 | continue(三行) |
| 4,5,6,7 | 無匹配條件 | 正常執行 echo $index | 4 5 6 7 |
| 8 | -ge 8 真 | echo $index → echo "break" → break 終止循環 | 8 / break |
| 9,10 | 循環已結束 | 不再執行 | 無 |
continue:數據清洗時跳過無效行;遍歷文件跳過隱藏文件。break:搜索到目標文件立即停止;檢測到致命錯誤退出重試循環。親手敲入腳本、觀察輸出、修改條件再運行,五分鐘掌握精髓。