Looping Statements | Shell Script (original) (raw)

Last Updated : 28 Apr, 2026

Loops are a fundamental part of programming, and shell scripting is no exception. They allow you to automate repetitive tasks by running a block of code multiple times.

while statement in Shell Script in Linux

The while loop is used when you don't know how many times to loop, but you know the condition to stay in the loop.

**How it works:

It checks the condition. If it's TRUE, it runs the code, then checks again. It repeats until the condition is FALSE.

#/bin/bash
while
do
<command 1>
<command 2>

done

Statement: Implementation of While Loop in Shell Script.

First, we create a file using a text editor in Linux. In this case, we are using `vim`editor.

vim looping.sh

chmod +x looping.sh

#/bin/bash
a=0

lt is less than operator

#Iterate the loop until a less than 10
while [ $a -lt 10 ]
do
# Print the values
echo $a
# increment the value
a=expr $a + 1
done

**Output:

While Loop in Linux

While Loop in Linux

for statement in Shell Script in Linux

The for loop operates on lists of items. It repeats a set of commands for every item in a list.

**Syntax:

#/bin/bash
for in <value1 value2 ... valuen>
do
<command 1>
<command 2>

done

Statement 1: Implementation of `for` Loop with `break` statement in Shell Script.

First, we create a file using a text editor in Linux. In this case, we are using `vim`editor.

vim for.sh

chmod +x for.sh

#/bin/bash
#Start of for loop
for a in 1 2 3 4 5 6 7 8 9 10
do
# if a is equal to 5 break the loop
if [ $a == 5 ]
then
break
fi
# Print the value
echo "Iteration no $a"
done

**Output:

loop1

Statement 2: Implementation of `for` Loop with `continue` statement in Shell Script.

First, we create a file using a text editor in Linux. In this case, we are using `vim`editor.

vim for_continue.sh

chmod +x for_continue.sh

#/bin/bash
for a in 1 2 3 4 5 6 7 8 9 10
do
# if a = 5 then continue the loop and
# don't move to line 8
if [ $a == 5 ]
then
continue
fi
echo "Iteration no $a"
done

**Output:

continue statement in for loop in Linux

continue statement in for loop in Linux

until statement in Shell Script in Linux

The until loop is executed as many times as the condition/command evaluates to false. The loop terminates when the condition/command becomes true.

**Syntax:

#/bin/bash
until
do
<command 1>
<command 2>

done

Statement: Implementing until Loop in Shell Script

First, we create a file using a text editor in Linux. In this case, we are using `vim`editor.

vim until.sh

chmod +x until.sh

#/bin/bash
a=0

-gt is greater than operator

#Iterate the loop until a is greater than 10
until [ $a -gt 10 ]
do
# Print the values
echo $a
# increment the value
a=expr $a + 1
done

**Output:

loop2

**Note: Shell scripting is a case-sensitive language, which means proper syntax has to be followed while writing the scripts.

Examples of Looping Statements

Below are some commonly used looping statements along with their basic structure and examples.

1. Iterating Over Colors Using a For Loop

First, we create a file using a text editor in Linux. In this case, we are using `vim`editor.

vim color.sh

chmod +x color.sh

#/bin/bash
COLORS="red green blue"

the for loop continues until it reads all the values from the COLORS

for COLOR in $COLORS
do
echo "COLOR: $COLOR"
done

**Output:

For until in Linux

For until in Linux

**Explanation:

**1. Initialization of Colors:

**2. For Loop Iteration:

**3. Loop Body:

3. Interactive Name Confirmation Loop

First we create a file using a text editor in Linux. In this case we are using `vim`editor.

vim name.sh

chmod +x name.sh

#/bin/bash
CORRECT=n
while [ "$CORRECT" == "n" ]
do

loop discontinues when you enter y i.e., when your name is correct

-p stands for prompt asking for the input

read -p "Enter your name:" NAME
read -p "Is ${NAME} correct? " CORRECT
done

**Output:

Interactive script in Linux

Interactive script in Linux

Explanation:

**1. Initialization:

**2. Interactive Loop:

**3. Loop Body: