Software & Apps Linux How to Write Bash WHILE-Loops Commands, syntax, and examples By Juergen Haas Writer Former Lifewire writer Juergen Haas is a software developer, data scientist, and a fan of the Linux operating system. our editorial process Juergen Haas Updated October 18, 2019 Justindorfman / Wikimedia Commons Linux Switching from Windows Tweet Share Email A while loop is a programming construct that repeats a given instruction until a specific condition is satisfied. The Bourne Again Shell on Linux supports these loops. Any Linux distribution that supports Bash (which is most of them) supports this kind of scripting. The Windows Subsystem for Linux also supports Bash. How to Create a While Loop in Bash In your text editor of choice, insert your code. For example: #!/bin/bashx=1while [ $x -le 10 ]do echo "Looped $x times" x=$(( $x + 1 ))done This script does several things, line by line: Line 1: Specifies Bash.Line 2: Sets a variable, x, equal to 1.Line 3: Sets the while condition. In this case, the while condition requires that the variable x must be less than or equal to 10.Lines 4 and 7: Begins the do portion of the loop. As long as the while condition remains active, the do clause iterates. The do block ends with the keyword done. If the while condition hasn't been satisfied, the do block repeats.Lines 5 and 6: Performs the looped task. In this case, the script writes "Looped x times" to the console then adds 1 to the value of x. Output looks something like this: Considerations for Bash While-Loop Scripting Despite the occasionally wonky syntax, while loops are conceptually straightforward: The while condition is always a Boolean value—it's either true or false.You're free to insert any number of commands within a do block.If you don't set a while condition, you'll create an infinite loop, which must be broken with a Ctrl+C interruption.If you embed conditionals (if statements) within a do block, you can approximate some form of sanity checking. For example, if a specific conditional value is met during the loop, the break keyword stops the loop. Likewise, the continue keyword will stop subsequent commands and go back to the start of the loop, incrementing as scripted.