For Loop in Bash Script (Shell Scripting)


Tamizh Tech Tutorial

For Loop in Bash Script 

(Shell Script)

Shell Scripting Tutorial



For Loop

  • It is an example of looping statement and alternative for while loop

  • It is used to execute group of statements based on the looping condition

  • Bash supports several examples of for-loops. Some of them below

    • Simple for loop

    • Range based for loop

    • C Style based for loop

    • Infinite for loop.

1. Simple for loop (Data based for loop)

  • Here the loop is based on the data or collection. The data can be the same type or different type.

Syntax

for variable in data

do

# code

done

Where,

variable is an user defined variable.

Example 1 - Data based for loop

Source Code

echo "--------------------------------"

echo -e "\t Data based For Loop"

echo "--------------------------------"

for i in 12 true "Hello" 34.55

do

    echo " $i"

done

Output

2. Range Based for loop

  • Here the loop is based on the three attributes like start, stop and interval.

  • These attributes should be enclosed by curly braces such as {start..stop..interval }

  • Where,

    • Start is an inclusive which is the starting range of number

    • Stop is an inclusive which is the ending range of number

    • Interval is an optional frequency gap, usually it is 1 by default.

Syntax

for variable in {start..stop..interval}

do

# code

done

Where,

variable is an user defined variable.

NOTE

  • Interval is an optional in for loop. 

  • By default, it is 1.

Drawback

  • Dynamic value ca’t be permitted for attributes like start, stop and interval in the range based for loop

Example 2 - Range based for loop

3. C Style Based For Loop (Three Expression For Loop)

  • This is similar to c programming for loop

  • It takes three expressions like exp1, exp2, exp3

  • Where,

    • exp1 is an initial condition

    • exp2 is an condition

    • exp3 is the either increment or decrement value

Syntax

for ((exp1; exp2; exp3))

do

# code

done

Example 3 - C Style based for loop

Source Code

echo "---------------------------------------"

echo -e "\t C Style Based For loop"

echo "---------------------------------------"

echo "Enter the number: "

read n

f=1

for ((i=1;i<=n;i++))

do

    f=$((f*i))

done

echo "Fact is : $f”

Output

4. Infinite For Loop

  • If you don’t mention the start, stop and interval in c style loop, it will be considered as infinite for loop

  • Like c programming, just specify two semicolons ;; to display the infinite For loop

  • We need to press ctrl+c to terminate / stop the loop.

Syntax

for ((;;))

do

# code

done

Example 4 - Infinite For Loop

Source Code

echo "-----------------------------------"

echo -e "\t Infinite For Loop"

echo "-----------------------------------"

# infinite for loop

for ((;;))

do

    echo "Good Morning"

done

Output


Comments

Popular posts from this blog

Vivo V30 Pro 5G

Xiaomi 14 - Features, Price

Oppo F25 Pro 5G Review - Features, Price