#!/bin/bash copyFolders() { local source="$1" local save_dir="$2" local user_name="$3" # advisory — the destination path determines the owner # Write as the destination's owner — no root, no chown (see copyFile). local op="runInstallOp" [[ "$save_dir" == "$containers_dir"* || "$save_dir" == "${LP_CONTAINERS_DIR:-/libreportal-containers}"/* ]] && op="runFileOp" local subdirs=($(find "$source" -mindepth 1 -maxdepth 1 -type d)) if [ ${#subdirs[@]} -eq 0 ]; then echo "No subdirectories found in the source directory: $source" fi for subdir in "${subdirs[@]}"; do local subdir_name=$(basename "$subdir") local result; result=$($op cp -rf "$subdir" "$save_dir") checkSuccess "Copying $subdir_name to $save_dir" done }