Facebook Twitter Instagram
    TecAdmin
    • Home
    • FeedBack
    • Submit Article
    • About Us
    Facebook Twitter Instagram
    TecAdmin
    You are at:Home»Programming»Bash Shell»Bash while Loop with Examples

    Bash while Loop with Examples

    By RahulMarch 1, 20235 Mins Read

    A while loop is a fundamental control structure in Bash scripting that allows you to execute a block of code repeatedly as long as a certain condition is true. The while loop is an essential tool in any Bash programmer’s toolbox, and is used to automate tasks, perform operations on collections of data, and implement complex algorithms.

    Advertisement

    In Bash scripting, while loops can be used to perform a wide variety of tasks, such as reading and processing files, generating reports, querying databases, and interacting with users. while loops are also often used in combination with other Bash control structures, such as conditional statements (if, elif, else) and other loops (for, until), to implement complex algorithms and scripts.

    In this tutorial, we will explore the basic syntax of while loops in Bash, and examine how they can be used to automate tasks and implement complex algorithms. We will also cover some common use cases and best practices for working with while loops, and provide examples of how to use while loops to solve real-world problems.

    Syntax

    A while loop is a type of loop in Bash that allows you to repeatedly execute a set of commands as long as a certain condition is true. The syntax for a while loop is as follows:

    1
    2
    3
    4
    while condition
    do
        # commands to execute
    done

    In this tutorial, we’ll cover the basics of using while loops in Bash.

    Basic Example

    Let’s start with a simple example. Suppose you want to count from 1 to 5 and print each number. You can use a while loop to do this, like so:

    1
    2
    3
    4
    5
    6
    count=1
    while [ $count -le 5 ]
    do
        echo $count
        count=$((count+1))
    done

    In this example, we’ve initialized a variable called count to 1, and then used a while loop to repeatedly print the value of count as long as it is less than or equal to 5. Inside the loop, we print the value of count using the echo command, and then increment the value of count by 1 using the ((count+1)) syntax.

    Using a Condition

    The condition in a while loop can be any valid Bash expression. For example, you might use a condition that tests the value of a variable, like so:

    1
    2
    3
    4
    5
    answer="no"
    while [ "$answer" != "yes" ]
    do
        read -p "Do you want to continue? (yes/no) " answer
    done

    In this example, we’ve initialized a variable called answer to “no”, and then used a while loop to repeatedly prompt the user to enter “yes” or “no” until the user enters “yes”. Inside the loop, we use the read command to read a line of input from the user, and then test whether the value of answer is “yes” using the [ “$answer” != “yes” ] syntax.

    Using the break Statement

    You can use the break statement to exit a while loop prematurely. For example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    count=1
    while [ $count -le 10 ]
    do
        if [ $count -eq 5 ]
        then
            break
        fi
        echo $count
        count=$((count+1))
    done

    In this example, we’ve used a while loop to count from 1 to 10 and print each number. However, we’ve also included an if statement inside the loop that tests whether the value of count is equal to 5. If it is, we use the break statement to exit the loop. As a result, this loop will only print the numbers 1 through 4.

    Using the continue Statement

    You can use the continue statement to skip to the next iteration of a while loop. For example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    count=1
    while [ $count -le 5 ]
    do
        if [ $count -eq 3 ]
        then
            count=$((count+1))
            continue
        fi
        echo $count
        count=$((count+1))
    done

    In this example, we’ve used a while loop to count from 1 to 5 and print each number. However, we’ve also included an if statement inside the loop that tests whether the value of count is equal to 3. If it is, we use the continue statement to skip to the next iteration of the loop. As a result, this loop will print the numbers 1, 2, 4, and 5, but skip the number 3.

    Reading file line by line

    One common use case for while loops in Bash is reading and processing files. You can use a while loop to read each line of a file and perform some operation on it. Here’s an example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    filename="example.txt"
     
    while read line
    do
        echo "Processing line: $line"
        # Add your code to process the line here
    done < $filename

    In this example, we define a variable filename that contains the name of the file we want to read. We then open a while loop using the read command. it will read one line from file and process it with given instructions.

    Nested while Loops

    You can also nest while loops inside each other to create more complex loops. For example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    x=1
    while [ $x -le 3 ]
    do
        y=1
        while [ $y -le 3 ]
        do
            echo "($x, $y)"
            y=$((y+1))
        done
        x=$((x+1))
    done

    In this example, we’ve used a while loop to count from 1 to 3 and print each number, and then nested another while loop inside it to count from 1 to 3 and print each number again. As a result, this loop will print the following output:

    Output
    (1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3)

    Conclusion

    while loops are a powerful tool in Bash that allow you to repeat commands as long as a certain condition is true. By mastering the basics of while loops, you can create more complex scripts and automate common tasks.

    bash loop script shell shell scripts while
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp

    Related Posts

    10 Bash Tricks Every Developer Should Know

    Understanding 2>&1 in Bash: A Beginner’s Guide

    Best Practices and Tips for Writing Shell Scripts as Pro

    Add A Comment

    Leave A Reply Cancel Reply

    Advertisement
    Recent Posts
    • Implementing a Linux Server Security Audit: Best Practices and Tools
    • cp Command in Linux (Copy Files Like a Pro)
    • 15 Practical Examples of dd Command in Linux
    • dd Command in Linux (Syntax, Options and Use Cases)
    • Iptables: Common Firewall Rules and Commands
    Facebook Twitter Instagram Pinterest
    © 2023 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.