for DIRNAME in any "$1"; do
local PATH_SKEL="${PATH_REPO}/home/${DIRNAME}"
msg 'Linking %s files into home directory …' "${PATH_SKEL}"
- find "${PATH_SKEL}" -mindepth 1 -maxdepth 1 \
- | while IFS= read -r SRC; do
- DEST="${HOME}/$(basename "${SRC}")"
+ find "${PATH_SKEL}" -mindepth 1 -type f -printf '%P\n' \
+ | while IFS= read -r RELPATH; do
+ SRC="${PATH_SKEL}/${RELPATH}"
+ DEST="${HOME}/${RELPATH}"
+ mkdir -p "$(dirname "${DEST}")"
if [ -e "${DEST}" ] || [ -L "${DEST}" ]; then
msg 'Skipping already-found %s …' "${DEST}"
else