Posted on June 21, 2023 by nexonhost
What Is Loop And How To Understand It.
Looping Statements in Shell Scripting:
Three keywords to loop in Unix/Linux shell:
1.until
The statements in the until loop are executed until the command in the condition becomes true.
Syntax
The following is the syntax of the until loop:
until command do Statement(s) to be executed done
Code
The code below demonstrates the use of the until loop.
a=5 until [ $a -lt 1 ] # a < 1 do echo $a # print a a=`expr $a - 1` # a = a - 1 done
Output 5 4 3 2 1
2.while
The statements in the while loop are executed until the command in the condition becomes false.
Syntax
The following is the syntax of the while loop:
while command do Statement(s) to be executed done
Code
The code below demonstrates the use of the while loop.
a=5 while [ $a -gt 0 ] # a > 0 do echo $a # print a a=`expr $a - 1` # a = a - 1 done
Output 5 4 3 2 1
3.for
The for loop operates on a list of items. The statements in the for loop are executed for all items in the list.
Syntax
The following is the syntax of the for loop:
for var in word1 word2 ... wordN do Statement(s) to be executed done
Code
The code below demonstrates the use of the for loop.
for a in 5 4 3 2 1 do echo $a # print a done
Output 5 4 3 2 1
Altering loops
We use the following keywords to alter the normal flow of a loop in Unix/Linux:
Code
The code below demonstrates the use of the break statement.
for a in 2 5 3 1 9 8 0 7 6 4 do if [ $a -eq 0 ] # a == 0 then break fi echo $a done
Output 2 5 3 1 9 8
4.continue
We use the continue statement to terminate iteration(s) of the loop. It executes the line above continue and ignores all the lines below continue. It then starts execution from the start of the next iteration in the loop.
Code
The code below demonstrates the use of the continue statement.
for a in 1 2 3 4 5 6 7 8 9 10 do if [ `expr $a % 2` -eq 0 ] # a % 2 == 0 then continue fi echo $a done
Output 1 3 5 7 9