From bed7eb8f3fbd667fdfefa523829646d4a39d3696 Mon Sep 17 00:00:00 2001 From: Steven Baltakatei Sandoval Date: Mon, 11 Jan 2021 18:52:16 -0800 Subject: [PATCH] add(unitproc:bkmvln):Import symbolic link move script https://github.com/tpo/little_shell_scripts --- unitproc/bkmvln | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 unitproc/bkmvln 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" -- 2.30.2