break - Linux
Overview
The break
command in Linux is a shell builtin that exits from a loop (for, while, until, or select) in shell scripting. This command is used primarily within scripts to terminate the execution of loops based on specific conditions, thus allowing for more granular control of script flow.
Syntax
The basic syntax of the break
command is as follows:
break [n]
Where [n]
is an optional argument representing the number of enclosing loops to break out of. If n
is omitted, it defaults to 1, meaning it will exit only the current loop.
Options/Flags
The break
command has only one optional argument:
- n : An integer which specifies the number of nested loops to exit. This allows breaking out of multiple loops with a single
break
command. Ifn
is greater than the number of enclosing loops, all enclosing loops are exited.
Examples
-
Basic Example
Exit a loop after processing five items:for i in {1..10}; do if [ $i -eq 6 ]; then break fi echo "Processing item $i" done
-
Advanced Example
Exiting multiple loops:for i in {1..5}; do for j in {1..5}; do if [ $i -eq 3 -a $j -eq 3 ]; then break 2 # Breaks out of both loops fi echo "Processing item $i, $j" done done
Common Issues
-
Exceeding Loop Count
Using a number withbreak
that exceeds the number of nested loops will not produce an error; instead, it breaks out of all possible loops. -
Misplacement
Placement ofbreak
outside of any loop will cause a syntax error. Ensure thatbreak
is used within a loop structure.
Integration
break
is often combined with other commands and constructs to effectively manage script workflows:
num=0
while true; do
num=$((num+1))
read -p "Continue (y/n)? " answer
if [ "$answer" = "n" ]; then
break
fi
echo "Iteration $num"
done
echo "Loop has been exited."
Related Commands
- continue – Skips the remainder of the current loop iteration and begins the next iteration.
- exit – Exits the shell or a shell script entirely.
For more details and advanced usage, you might consider reviewing the official Bash documentation here.