04. Looping control flow continue, break

In cases of exceptions, where we find that we want to direct the flow of the loop back to the test condition or break out of it, we can use two commands - continue and break.

continue

The continue keyword is used to ignore the rest of the statements for that loop iteration, and go back to the test condition.

This short script breaks forces the loop to go back to the condition when $var is equal to 5. Thus, the output would print out all values up to 10 except 5.

#!/bin/bash
 
for var in {1..10}
do
  if [ $var -eq 5 ]
  then
    continue;
  fi
  echo "$var"
done
$ ./test
1
2
3
4
6
7
8
9
10

break

To break out of a loop, simply use the command break.

If there is more than one loop you want break out of, you can specify a value after the keyword.

#!/bin/bash
 
for iter in {2..4}
do
  for var in {1..10}
  do
    if [ $var -eq 5 ]
    then
      break 2;
    fi
    echo $(($iter * $var))
  done
done

This script would print out 2 4 6 8 and then break out of both loops. Can you see why?

Take your Linux skills to the next level!

System Admin Handbook

Take your Linux skills to the next level! Try Linux & UNIX

This book approaches system administration in a practical way and is an invaluable reference for both new administrators and experienced professionals. It details best practices for every facet of system administration, including storage management, network design and administration, email, web hosting, scripting, and much more.

$ Check price
74.9974.99Amazon 4.5 logo(142+ reviews)

More Linux & UNIX resources

Aching back from coding all day?

Inversion Therapy Table

Aching back from coding all day? Try Back Problems

Stretch out your back and relieve your back muscles with inversion therapy. This device counteracts the forces of gravity on the body by decompressing and elongating the spine. By using this product just ten minutes a day, you can be well on your way to improved circulation and posture while relieving muscle aches, back pain and stress.

$$ Check price
119.98119.98Amazon 4.5 logo(1,700+ reviews)

More Back Problems resources

Ad