Bash Scripting for Beginners: Complete Guide to Getting Started - For Loops (Part 9)
Table of Contents
Introduction
This tutorial will guide you through the fundamentals of using for loops in Bash scripting. For loops are essential for performing tasks against a collection of items, making automation and scripting more efficient. By the end of this guide, you'll be equipped with the knowledge to implement for loops in your own Bash scripts.
Step 1: Understanding For Loops
For loops allow you to iterate over a set of items, executing a command or a series of commands for each item. This is particularly useful when you have repetitive tasks or need to process lists of data.
Key Concepts
-
A for loop typically has the following structure:
for item in list do commands done
-
The
item
variable takes on each value inlist
one at a time, and the commands within the loop are executed for each value.
Step 2: Creating a Simple For Loop
Let’s create a simple Bash script to demonstrate a for loop in action.
- Open your terminal.
- Create a new script file:
nano for_loop_example.sh
- Add the following code to the file:
#!/bin/bash for i in 1 2 3 4 5 do echo "Number: $i" done
- Save and exit the editor.
- Make the script executable:
chmod +x for_loop_example.sh
- Run the script:
./for_loop_example.sh
Output
You should see:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Step 3: Using For Loops with File Names
For loops can also be used to process files in a directory. Here’s how you can list all text files in the current directory.
- Create another script file:
nano list_text_files.sh
- Add the following code:
#!/bin/bash for file in *.txt do echo "Text file found: $file" done
- Save and exit the editor.
- Make the script executable:
chmod +x list_text_files.sh
- Run the script:
./list_text_files.sh
Practical Tip
- Ensure you have text files in the directory from which you run the script; otherwise, no output will occur.
Step 4: Advanced For Loop Example
For loops can be paired with commands to create more complex scripts. Here's an example that creates a backup of text files.
- Create a backup script:
nano backup_text_files.sh
- Add the following code:
#!/bin/bash for file in *.txt do cp "$file" "backup_$file" echo "Backup created for: $file" done
- Save and exit the editor.
- Make the script executable:
chmod +x backup_text_files.sh
- Run the script:
./backup_text_files.sh
Common Pitfalls
- Ensure the target files exist before running the script to avoid errors.
- Check for permissions if the script fails to create backups.
Conclusion
In this tutorial, you've learned the basics of for loops in Bash scripting, starting from fundamental concepts to practical examples. For loops are powerful tools that can streamline your scripting tasks by automating repetitive operations. As you become more comfortable with Bash, consider exploring nested loops or other control structures to enhance your scripts further. Happy scripting!