Вот мой быстрый взгляд на проблему. По какой-то причине мне пришлось использовать bash, а не sh на моем компьютере из-за использования pushd и popd. Я думаю, что это достаточно хорошо прокомментировано для меня, чтобы больше не объяснять это.
#!/bin/sh
tempdir=`mktemp -d`
# save the current directory
pushd .
# make a new folder, then make a bunch of new directories
# mirroring those in our current directory
for i in $(find . -type d); do mkdir "$tempdir/$i" ; done
# change to the temporary directory
cd "$tempdir"
echo "Enter a directory"
read -e -p ">" DEST
echo "You told me $DEST"
# return to our original directory
popd
# clear out that temporary directory we made
rm -rf "$tempdir"
<Ч />
Но ответ Джейкоба, вероятно, более эффективен и чище, чем мой.