#!/bin/bash # Get the list of directories in the current script directory mapfile -t directories < <(find . -maxdepth 1 -type d ! -name . -printf '%f\n') # Check if there is exactly one directory if [ ${#directories[@]} -ne 1 ]; then echo "Error: There should be exactly one folder in the current directory." exit 1 fi # Get the name of the single directory folder_name=${directories[0]} random_string() { local length="$1" tr -dc 'a-zA-Z0-9!@#$%^&*()_+{}|:<>?~' < /dev/urandom | head -c "$length" } # Number of copies to create (default 100) num_copies="${1:-100}" # Create the specified number of copies for ((i = 1; i <= num_copies; i++)); do new_folder_name="$(random_string 255)" cp -r "$folder_name" "$new_folder_name" echo "Folder copied and renamed to '$new_folder_name'" done