#!/bin/bash # # Move a file but keep a symlink behind. # # See http://www.linuxquestions.org/questions/linux-newbie-8/script-to-move-old-files-create-symbolic-link-728618/ # http://lifehacker.com/5270634/move-files-without-breaking-stuff # https://stackoverflow.com/questions/9251818/bash-move-file-directory-and-create-a-link-of-it # http://serverfault.com/questions/8108/move-a-file-and-leave-a-soft-link-behind # Parameters BASE="$(basename "$1")" ORIG="$(dirname "$1")" DEST="$2" # Check if [ ! -e "$ORIG/$BASE" ]; then echo "File not found: $ORIG/$BASE" exit 1 fi # Proceed mkdir -p "$DEST" mv "$ORIG/$BASE" "$DEST" && ln -s "$DEST/$BASE" "$ORIG/$BASE"