Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.

CompTIA Linux+ XK0-005 - 3.1 - Shell Script Elements: while Loops

In programming, loops are used to repeat a block of code multiple times. The while loop is one of the fundamental loop structures in Linux shell scripting. It allows you to execute a set of instructions repeatedly as long as a certain condition is true. The while loop is useful for automating tasks, iterating over lists or files, and processing data until a specific condition is met.

This guide will provide an overview of while loops in Linux shell scripting, explaining their syntax, usage, and common patterns. By understanding while loops, you'll be able to write efficient and powerful scripts to automate repetitive tasks.


The basic syntax of a while loop in shell scripting is as follows:

while [ condition ]
    # Code to be executed

The condition is a logical expression that is evaluated before each iteration. If the condition is true, the code inside the loop is executed. Once the code execution is complete, the condition is checked again, and the loop continues until the condition becomes false.


Let's look at an example to understand how while loops work in practice. Suppose we want to print a message five times:


while [ $counter -le 5 ]
    echo "Hello, World!"
    counter=$((counter + 1))

In this example, we initialize a variable counter with a value of 1. The while loop checks if the counter is less than or equal to 5. If it is, the code inside the loop is executed, which prints the message "Hello, World!" and increments the counter by 1. The loop continues until the counter becomes 6, at which point the condition becomes false, and the loop terminates.

Multiple Conditions

While loops can also have multiple conditions. In such cases, you can use logical operators such as && (AND) and || (OR) to combine the conditions. Here's an example:


while [[ $count -le 10 ]] && [[ $status == "running" ]]
    echo "Count: $count"
    # Perform some operations...

    # Check the status condition
    if [ $count -eq 5 ]; then

    count=$((count + 1))

In this example, the loop will execute as long as two conditions are met: the count variable is less than or equal to 10, and the status variable is set to "running". The loop body performs some operations (which you can customize) and checks the status condition. If the count reaches 5, the status is updated to "completed" to exit the loop.

This example illustrates how you can incorporate multiple conditions, including a combination of numerical and string comparisons, in a while loop. It demonstrates the flexibility of while loops in controlling program flow based on different conditions.


While loops are a powerful construct in Linux shell scripting that allow you to repeat code execution based on a given condition. They provide flexibility and control over the flow of your scripts, enabling automation of repetitive tasks. By understanding the syntax and usage of while loops, you can effectively utilize them in your shell scripts to achieve desired outcomes.

Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.