[Bash] for loop
The basic syntax of a for loop in Bash is:
for variable in list
do
commands
done
Examples
Example 1: Iterating Over a List of Words
#!/bin/zsh
for word in apple banana cherry
do
echo "The word is: $word"
done
Example 2: Iterating Over a Range of Numbers
#!/bin/zsh
for i in {1..5}
do
echo "Number: $i"
done
Example 3: Iterating Over Files in a Directory
#!/bin/zsh
for file in /path/to/directory/*
do
echo "Processing file: $file"
done
Example 4: Using Command Substitution
#!/bin/zsh
for user in $(cut -d: -f1 /etc/passwd)
do
echo "User: $user"
done
for user in $(cut -d: -f1 /etc/passwd)
: The loop iterates over all usernames in the /etc/passwd file.
Example 5: C-style for Loop
#!/bin/zsh
for ((i=1; i<=5; i++))
do
echo "Number: $i"
done
Practical Example: Creating Backup Files
Create the script file backup.sh:
nano backup.sh
Add the following content:
#!/bin/zsh
source_dir="/path/to/source_directory"
backup_dir="/path/to/backup_directory"
# create the backup directory if it doesn't exist
mkdir -p "$backup_dir"
foir file in "$source_dir"
do
# Extract the filename from the path
filename=$(basename "$file")
# Create a backup copy in the backup directory
cp "$file" "$backup_dir/$filename.bak"
echo "Created backup of $file as $fileanme.bak"
done