10 Bash For Loop Examples with Explanations

For Loop is an integral a part of any programming language. Permits applications to undergo a sure variety of gadgets.

For instance, to iterate by a listing or array of ‘n’ gadgets, use a for Loop. Let’s take a easy instance:

1 purple
2 Indigo
3 Blue
4 Vegetable
Rainbow desk

To carry out actions or iterate over the gadgets within the desk above, we want a For Loop.

Bash for loop

In a bash script, the syntax of For Loop is as follows:

#!/bin/bash

for VAR in 1 2 3 4 5.....N

do

 ACTION 1

 ACTION 2

 .....

achieved

Bash For Loop is kind of easy. The primary line #!/bin/bash signifies that the code is a bash script. VAR stands for the short-term variable used for Looping. N signifies the utmost variety of iterations. ‘do’ and ‘achieved’ begin and cease the loop respectively. Actions are the instructions which are executed inside the loop.

We will run Bash For Loop with completely different variables like record, strings, integers and arrays. This text exhibits some frequent examples of the Bash For Loop.

You’ll be able to run these applications instantly from the bash command line or save them to a file and run the file with the Bash filename.sh command.

Learn static record

Think about the next record – rainbowColorList = Violet, Indigo, Blue, Inexperienced, Yellow, Orange, Purple

We will print the string record above utilizing the Bash For Loop as follows:

#! /bin/sh

# Outline the record

rainbowColorList=Violet,Indigo,Blue,Inexperienced,Yellow,Orange,Purple

# Comma separator sample utilizing //,/

for colours in ${rainbowColorList//,/ }

do

   echo $colours

achieved

The output is the record of things on a brand new line.

#Output

Violet
Indigo
Blue
Inexperienced
Yellow
Orange
Purple

Learn an array

The syntax for declaring an array is completely different. Use brackets for every component (String).

rainbowArray=("Violet" "Indigo" "Blue" "Inexperienced" "Yellow" "Orange" "Purple")

for colours in "${rainbowArray[@]}"; do

     echo "I like $colours"

achieved

‘@’ is used to iterate by every component within the array.

#Output

I like Violet
I like Indigo
I like Blue
I like Inexperienced
I like Yellow
I like Orange
I like Purple

We will additionally use the For Loop to print the indexes and the array components.

#Printing with index

rainbowArray=("Violet" "Indigo" "Blue" "Inexperienced" "Yellow" "Orange" "Purple")

for i in "${!rainbowArray[@]}";

do

  echo "Colour at index " $i " : " "${rainbowArray[$i]}"

  i=$((i+1));

achieved
#Output

Colour at index 0 : Violet
Colour at index 1 : Indigo
Colour at index 2 : Blue
Colour at index 3 : Inexperienced
Colour at index 4 : Yellow
Colour at index 5 : Orange
Colour at index 6 : Purple

Word that we ‘!’ within the Loop to get the component index.

Iterating vary of numbers

We will use Bash For Loop to loop by a sequence of numbers.

#iterating over vary of numbers

echo "Countdown begins..."

for N in {10..0}

do

    echo "$N"

achieved

The ‘..’ signifies a sequence of numbers.

#Output

10
9
8
7
6
5
4
3
2
1
0

We will additionally skip depend numbers by specifying the vary.

Within the instance beneath, we skip counting by 3.

#iterating with skip counting

echo "Countdown begins..."

for N in {30..0..3}

do

    echo "$N"

achieved

The above program begins with 30 as the primary quantity and counts all the way down to 0. The final parameter within the for loop ‘3’ specifies the variety of skipped counts.

#Output

30
27
24
21
18
15
12
9
6
3
0

Strings and characters

We will do a number of attention-grabbing string operations with Bash For Loop.

For instance, we will learn every character of a string through the use of the ‘seq’ operator in a For Loop:

#learn characters of a string

myword="welcome"

for i in $(seq 1 ${#myword})

do

 echo "${myword:i-1:1}"

achieved

Word that the ‘seq’ should begin with 1 to get the primary character first.

#Output

W
e
l
c
o
m
e

We will additionally print the strings one after the other, separated by an area:

#learn every phrase from a sentence

mysentence="Welcome to GeekFlare. One cease hub for all techies"

for phrase in $mysentence; do

    echo $phrase

achieved
#Output

Welcome 
to 
GeekFlare. 
One 
cease 
hub 
for 
all 
techies

Expressions

Identical to with another programming language like Java, we will put expressions in a Bash For Loop.

for (( var=10; var>=0; var-- ))

do 

  echo "Counting down...$var"

achieved
#Output

Counting down...10
Counting down...9
Counting down...8
Counting down...7
Counting down...6
Counting down...5
Counting down...4
Counting down...3
Counting down...2
Counting down...1
Counting down...0

Learn command line arguments

To learn from the command line arguments, we use the ‘learn’ command. Within the instance beneath, we get some digits from the person and print the sum utilizing Bash For Loop. We use the variable whole to retailer the intermediate and grand whole or the sum of the numbers.

learn -a array -p "Enter the numbers you need to add:"

whole=0

for i in ${array[@]}; do

  let whole+=$i

achieved

echo "Sum of the numbers is: $whole"

The output is:

#Output

Enter the numbers you need to add: 3 4 66
Sum of the numbers is: 73

Discover odd-even numbers

To search out odd and even numbers between 1 and 10 (or any quantity N), we have to use the if situation together with Bash for Loop. To find out a good quantity, we divide the quantity by 2 and if the rest is 0, we categorize it as even or odd.

#declare the record the place the even and odd numbers will likely be sorted and saved

evennum=""

oddnum=""

for (( i=1; i<=10; i++ ))

do

the rest=$(( $i % 2 ))

if [ $remainder -eq 0 ]; then

 evennum="$evennum $i "

else

 oddnum="$oddnum $i "

fi

achieved

echo "Even numbers are: "$evennum

echo "Odd numbers are: "$oddnum

Word that within the above instance we give the vary 10. We will change this quantity to get even and odd numbers between every vary. You may also strive studying the person’s quantity utilizing the ‘learn’ command we discovered within the earlier part.

#Output

Even numbers are: 2 4 6 8 10
Odd numbers are: 1 3 5 7 9

Never-ending Loop

Infinite or infinite loop is a loop that doesn’t cease working, and this system should be compelled to cease utilizing Ctrl+C. We will simply create an infinite loop utilizing the ‘; ;’ operator contained in the for Loop:

for (( ; ; ))

do

  echo "Welcome to Geekflare"

achieved
#Output

Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
Welcome to Geekflare
^C
$

Break assertion

Break statements are used to interrupt the loop when an ‘if’ situation is met.

for coloration in Violet Indigo Blue Inexperienced Yellow Orange Purple

do

  if [[ "$color" == 'Green' ]]; then

    break

  fi

  echo "Looking for Inexperienced, the colour now's $coloration"

achieved

echo "I discovered my coloration $coloration"

On this instance we’re looking for the colour inexperienced. The For-Loop goes by every coloration and as soon as the inexperienced coloration is discovered, this system exits the Loop due to the break assertion.

#Output

Looking for Inexperienced, the colour now's Violet
Looking for Inexperienced, the colour now's Indigo
Looking for Inexperienced, the colour now's Blue
I discovered my coloration Inexperienced

Proceed assertion

Proceed is used to skip the present loop and transfer to the following one primarily based on a given situation. For instance, in case you do not need to print the colour ‘Inexperienced’ from our earlier program, we will go forward and show all different colours besides Inexperienced.

for coloration in Violet Indigo Blue Inexperienced Yellow Orange Purple

do

  if [[ "$color" == 'Green' ]]; then

    proceed

  fi

  echo "$coloration"

achieved
#Output

Violet
Indigo
Blue
Yellow
Orange
Purple

Final phrases

We have lined the commonest makes use of of a Bash For Loop, utilizing strings, integers, arrays, and lists. In case you are studying Linux however have a Home windows 10 machine, you should utilize the WSL function and set up Linux in your Home windows machine.

You’ll be able to then use the Linux terminal in the identical method as CMD.

Then you possibly can see how you can run bash scripts with Python.

Rate this post
Leave a Comment