Bash Until Loop
Bash Until Loop
In Bash scripting, the until loop allows you to repeatedly execute a block of commands as long as a specified condition is false. It is the opposite of the while loop.
Syntax
until [ condition ]; do
# commands
done
The basic syntax involves using until followed by a condition in square brackets, the commands to execute while the condition is false, and the loop ends with done.
Example Bash Until Loops
Let's look at some examples of how to use until loops in Bash:
1. Until Loop to Print Numbers
This script uses an until loop to print numbers from 1 to 5.
#!/bin/bash
count=1
until [ $count -gt 5 ]; do
echo "Count: $count"
((count++))
done
In this script, the variable count is initialized to 1. The until loop checks if count is greater than 5 using the -gt operator. As long as count is less than or equal to 5, it prints the value of count and increments count by 1.
2. Until Loop to Check User Input
This script uses an until loop to repeatedly ask the user for input until they type 'exit'.
#!/bin/bash
input=""
until [ "$input" == "exit" ]; do
read -p "Enter something (type 'exit' to quit): " input
echo "You entered: $input"
done
In this script, the variable input is initialized to an empty string. The until loop checks if input is equal to 'exit' using the == operator. As long as input is not 'exit', it prompts the user to enter something and prints the entered value. The loop continues until the user types 'exit'.
3. Until Loop to Wait for a File
This script uses an until loop to repeatedly check if a file exists and prints a message once the file is found.
#!/bin/bash
filename="example.txt"
until [ -f "$filename" ]; do
echo "Waiting for $filename to be created..."
sleep 2
done
echo "$filename found."
In this script, the variable filename is assigned the name of the file to check. The until loop checks if the file exists using the -f operator. As long as the file does not exist, it prints a message and waits for 2 seconds before checking again. Once the file is found, it prints a message indicating that the file has been found.
Conclusion
The Bash until loop is a crucial tool for tasks that need to run until a condition becomes true in shell scripting. Understanding how to use until loops can help you automate and simplify many tasks in your scripts.