diff options
Diffstat (limited to 'mvln')
-rwxr-xr-x | mvln | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -0,0 +1,23 @@ +#!/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" |