Monday, 7 October 2013

Basic Linux Shell Scripting Language : 'Until' Loops

until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop, until-loop,

    In the previous articles on Loop Statements, we have seen how a loop works. The For Loop as well as the While Loop keep executing a block of commands till the condition stays true. Once the condition becomes false, the loop is terminated.

Read More about 'FOR' and 'WHILE' Loops:
    In this article, we will see a different kind of loop that keeps executing a block of commands till the condition becomes true. The loop is known as 'Until' Loop and it works in totally opposite way as that of the 'While' Loop. Before we proceed to the tutorial part, I recommend that you should read my article on While loops and if you are new to Shell Scripting, please read- Getting Started - Linux Shell Scripting Language.

Lets Start!

The 'Until' Loop

The until loop has a similar syntax as that of the while loop, but as quoted earlier, it works in totally opposite manner as that of while loop. Just like while loop, there is a block of commands and there is a condition. The block of commands executes repeatedly till the condition stays False. As soon as the condition becomes true, the 'until' loop terminates. Have a look on 'until' loop syntax:

Syntax:


until [ Condition ]
do

    -- Block of Commands --

done

Example:

#!/bin/bash

n=1

until [ $n -gt 5 ]
do
  echo "This is Iteration No. $n"
  n=$( expr $n + 1 )
done
Result:

This is Iteration No. 1
This is Iteration No. 2
This is Iteration No. 3
This is Iteration No. 4
This is Iteration No. 5

An Infinite 'Until' Loop

You can create an Infinite 'until' loop by writing a condition which stays 'false' forever. Generally, most of the programmers prefer 'For' loops and 'While' loops to create an infinite loop.

Syntax:

until [ False_Condition ]
do

    -- Block of Commands --

done
Example:

#!/bin/bash

until [ 5 -ne 5 ]
do
   echo "You are in an Infinite Loop. Press CTRL + C to Exit.."
done

The 'Until' Loop with 'Continue' Statement

The continue statement in a loop, when certain condition becomes true, skips all the statements coming after it and continues with the next iteration of the loop.

Syntax:

until [ condition ]
do
    -- Some Commands --

    if [ condition ]
    then
        continue
    fi

    -- More commands --
done
Example: Again, lets print all the even numbers less than or equal to 20.

#!/bin/bash

i=0
until [ $i -gt 20 ]
do
    i=$(expr $i + 1)
    j=$(expr $i % 2)

    if [ $j -ne 0 ]
    then
        continue
    fi

    echo "$i"
done
Result:

2
4
6
8
10
12
14
16
18
20

Script : Sum of Squares of First 'N' Natural Numbers


#!/bin/bash

echo "Enter the Last Number"
read n

i=1
sum=0

until [ $i -gt $n ]
do
    j=$(expr $i \* $i)
    sum=$(expr $sum + $j)
    i=$(expr $i + 1)
done

echo "Sum of Squares of First $n Natural Numbers = $sum"

Result:

Enter the Last Number
6
Sum of Squares of First 6 Natural Numbers = 91

That's all about Until Loops!

Also Read:

0 comments:

Post a Comment

    Total Pageviews