Shell Scripting Loops
Shell Scripting Loops
#############################################################
for loop
#!/bin/sh
for i in 1 2 3 4 5
do
echo "Looping ... number $i"
done
o/p-
[root@ip-172-31-8-124 scripts]# ./for.sh
Looping ... number 1
Looping ... number 2
Looping ... number 3
Looping ... number 4
Looping ... number 5
#############################################################
#!/bin/bash
#for loop one more eg
i=1
for day in Mon Tue Wed Thu Fri
do
echo "Weekday $((i++)) : $day"
done
done
#############################################################
while loop
#!/bin/sh
a=0
while [ $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
a=0
until [ ! $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
[root@ip-172-31-8-124 scripts]# ./until.sh
0
1
2
3
4
5
6
7
8
9
#!/bin/bash
# A shell script to print each number five times.
for (( i = 1; i <= 5; i++ )) ### Outer for loop ###
do
#############################################################
nested while
#!/bin/sh
a=0
while [ "1" -lt 10 ] # this is loop1
do
b="1"
while [ "$1" -ge 0 ] # this is loop2
do
echo -n "0 "
b=`expr $b - 1`
done
echo # here we have added echo for new line. try only echo command we will
get a new line
a=`expr $a + 1`
done
Infinite loop
#!/bin/bash
a=10
until [ $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
#############################################################
Break
#!/bin/sh
a=0
while [ $a -lt 10 ]
do
echo $a
if [ $a -eq 5 ]
then
break
fi
a=`expr $a + 1`
done
while [ $a -le 10 ]
do
a=`expr $a + 1`
if [ $a -eq 5 ]
then
continue
fi
echo $a
done