How to Use break in Bash: Syntax and Examples
In bash, use the
break statement to immediately exit a loop like for, while, or until. You can optionally specify a number to break out of nested loops, e.g., break 2 exits two levels of loops.Syntax
The basic syntax of break in bash is simple:
break: exits the current loop immediately.break N: exits N levels of nested loops.
This helps control loop execution by stopping it early when a condition is met.
bash
break break N
Example
This example shows a for loop that prints numbers from 1 to 5 but stops early when the number reaches 3 using break.
bash
#!/bin/bash for i in {1..5}; do if [ "$i" -eq 3 ]; then break fi echo "Number: $i" done
Output
Number: 1
Number: 2
Common Pitfalls
Common mistakes when using break include:
- Using
breakoutside a loop causes an error. - For nested loops, forgetting to specify the level with
break Nmay not exit the intended loop. - Using
breakinifstatements outside loops does nothing.
Always ensure break is inside a loop and specify the correct level if nested.
bash
# Wrong: break outside loop if true; then break # Error: break not in loop fi # Right: break inside nested loops for i in {1..3}; do for j in {1..3}; do if [ "$j" -eq 2 ]; then break 2 # Exits both loops fi echo "$i $j" done done
Output
1 1
Quick Reference
| Command | Description |
|---|---|
| break | Exit the current loop immediately |
| break N | Exit N levels of nested loops |
| break outside loop | Causes an error |
| break in if outside loop | Causes an error |
Key Takeaways
Use
break to exit loops early in bash scripts.Specify a number with
break N to exit multiple nested loops.Never use
break outside loops; it causes errors.Place
break inside loops only, not just inside conditional statements.Test nested loops carefully to ensure
break exits the intended loop level.