From: Steven Baltakatei Sandoval Date: Tue, 12 Jan 2021 02:52:16 +0000 (-0800) Subject: add(unitproc:bkmvln):Import symbolic link move script X-Git-Tag: 0.3.0~4 X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/commitdiff_plain/bed7eb8f3fbd667fdfefa523829646d4a39d3696?hp=-c add(unitproc:bkmvln):Import symbolic link move script https://github.com/tpo/little_shell_scripts --- bed7eb8f3fbd667fdfefa523829646d4a39d3696 diff --git a/unitproc/bkmvln b/unitproc/bkmvln new file mode 100755 index 0000000..0e1cec5 --- /dev/null +++ b/unitproc/bkmvln @@ -0,0 +1,25 @@ +#!/bin/bash +# +# inspired by https://stackoverflow.com/questions/8523159/how-do-i-move-a-relative-symbolic-link#8523293 +# by Christopher Neylan + +help() { + echo 'usage: mv_ln src_ln dest_dir' + echo ' mv_ln --help' + echo + echo ' Move the symbolic link src_ln into dest_dir while' + echo ' keeping it relative' + exit 1 +} + +[ "$1" == "--help" ] || [ ! -L "$1" ] || [ ! -d "$2" ] && help + +set -e # exit on error + +orig_link="$1" +orig_name=$( basename "$orig_link" ) +orig_dest=$( readlink -f "$orig_link" ) +dest_dir="$2" + +ln -r -s "$orig_dest" "$dest_dir/$orig_name" +rm "$orig_link"