#! /bin/bash function cp_ad() { sourceCheck=$1; desPath=$2; defaultSourceCheck=$3; if [[ -z $sourceCheck ]] || [[ -z $desPath ]] then echo "Source path or destination path is empty"; exit 1; fi for item in "$sourceCheck"/* do if [[ -d $item ]] then relativePath=$(echo ${item/$defaultSourceCheck/}); pathRm=$desPath$relativePath; echo $pathRm; rm -rf $pathRm; cp_ad $item $desPath $defaultSourceCheck; fi relativePath=$(echo ${item/$defaultSourceCheck/}); pathRm=$desPath$relativePath; echo $pathRm rm -rf $pathRm done } cp_ad $1 $2 $3; cp -rf $1/* $2;