[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
posted @ 2024-06-11 18:35  Zhentiw  阅读(5)  评论(0编辑  收藏  举报