For loop in bash

Mastering the art of Bash scripting often involves harnessing the power of control structures like for loop. With their ability to iterate through lists of values or perform tasks based on specific conditions, for loops are indispensable tools in the toolkit of any Bash scripter. Let’s explore the intricacies of for loops and dive into some practical examples to illustrate their utility.

For Loops

In Bash scripting, a for loop begins with the for keyword, followed by the name of a variable (commonly i), the in keyword, and a list of values. The variable is successively assigned each value from the list, and the commands within the loop body, delineated by do and done, are executed for each iteration.

For instance, consider the following syntax:

for i in value1 value2 value3; do
    # Commands to execute

Practical Applications

Looping through Explicit Lists

For loops excel at traversing explicit lists of values, allowing scripters to perform tasks for each item in the list.

In this example, the loop iterates over the values “dog”, “cat”, and “elephant”, with $i sequentially assigned each value. Within each iteration, the script echoes the value of $i, demonstrating the straightforward usage of for loops with explicit lists.

Generating Sequences with seq and Brace Expansion

Bash provides convenient methods for generating sequences of numbers or characters, streamlining the creation of iterative tasks.

In these examples, the seq command generates a sequence from 1 to 5, while brace expansion generates a sequence of uppercase letters from “N” to “P”. The for loops iterate over these sequences, demonstrating the flexibility of Bash in generating iterative tasks.

Processing Command Output and File Lists

For loops are invaluable for processing command output or lists of files, enabling scripters to perform actions for each item obtained from the output or file list.

Processing Command Output and File Lists

These examples showcase the versatility of for loops in handling diverse scenarios. Whether parsing data from files or performing operations on specific subsets of files, for loops provide a robust mechanism for iterative tasks in Bash scripting.


For loops are indispensable constructs in Bash scripting, offering a flexible and powerful mechanism for performing repetitive tasks. By mastering the nuances of for loops and leveraging their capabilities, scripters can streamline automation, process data efficiently, and build robust and dynamic scripts. Experiment with for loops in your Bash scripts to unlock their full potential and elevate your scripting prowess.