the for loop program can be written using while loop as:" />

while loop in Linux Shell Script

By: Dorris Viewed: 153435 times  Printer Friendly Format    


Syntax:

           while [ condition ]
           do
                 command1
                 command2
                 command3
                 ..
                 ....
            done

Loop is executed as long as given condition is true. For e.g..the for loop program can be written using while loop as:

$cat > nt1
#!/bin/sh
#
#Script to test while statement
#
#
if [ $# -eq 0 ]
then
   echo "Error - Number missing form command line argument"
   echo "Syntax : $0 number"
   echo " Use to print multiplication table for given number"
exit 1
fi
n=$1
i=1
while [ $i -le 10 ]
do
  echo "$n * $i = `expr $i \* $n`"
  i=`expr $i + 1`
done

Save it and try as
$ chmod 755 nt1
$./nt1 7
Above loop can be explained as follows:

 

n=$1 Set the value of command line argument to variable n. (Here it's set to 7 )
i=1 Set variable i to 1
while [ $i -le 10 ]                   This is our loop condition, here if value of i is less than 10 then, shell execute all statements between do and done
do  Start loop
echo "$n  *  $i = `expr $i  \*  $n`" Print multiplication table as
7 * 1 = 7
7 * 2 = 14
....
7 * 10 = 70, Here each time value of variable n is multiply be i.
i=`expr $i + 1` Increment i by 1 and store result to i.  ( i.e. i=i+1)
Caution: If you ignore (remove) this statement  than our loop become infinite loop because value of variable i always remain less than 10 and program will only output
7 * 1 = 7
...
...
E (infinite times)
done                                   

Loop stops here if i is not less than 10 i.e. condition of loop is not true. Hence
loop is terminated.



Most Viewed Articles (in Linux )

Latest Articles (in Linux)

smskannel SMS gateway run in background

Running jar files in background in ssh window

Could not open '': No such file or directory at lib/ExtUtils/MM_Unix.pm line 2697

Can't locate ExtUtils/MakeMaker.pm in @INC ...

bash: make: command not found

apxs: command not found

bash: svn: command not found

make: Nothing to be done for `all'.

How to burn your CD / DVD ISO image using Media Creator (Adaptec/Roxio) on Windows

How to burn your CD / DVD ISO image using Nero Burning ROM (Ahead Software) on Windows

How to burn your CD / DVD ISO image using Nero Express (Ahead Software) on Windows

How to burn your CD / DVD ISO image using NISO Recorder V2 Power Toy on Windows

How to burn your CD / DVD ISO image using k3b on CentOS

Compiling and Installing software from source in Linux

Installing RPM's using the Redhat Package Manager in Linux

Comment on this tutorial