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

# Programming Tutorials

## while loop in Linux Shell Script

By: Dorris 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)

Comment on this tutorial