#!/usr/bin/env bash
{ set +x; } 2>/dev/null

usage() {
    cat <<EOF 1>&2
usage: $(basename $0) path
EOF
    [[ $1 == "-h" ]] || [[ $1 == "--help" ]]; exit
}

[[ $1 == "-h" ]] || [[ $1 == "--help" ]] && usage "$@"

[[ $# != 1 ]] && usage

! [ -e "$1" ] && echo "ERROR: $1 NOT EXISTS" && exit 1

[ -L "$1" ] && { readlink="$(readlink "$1")" || exit; set -- "$readlink"; }
[ -f "$1" ] && {
    path="$(mktemp)" || exit
    cp "$1" "$path" || exit
    echo "$path"; exit
}
[ -d "$1" ] && {
    path="$(mktemp -d)" || exit
    cp -R "$1"/ "$path"
    echo $path; exit
}
echo "WTF: $1" && exit 1

