From 28dd6b00120fda485b2f4333223240722106adf2 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 26 May 2022 23:42:27 -0700 Subject: [PATCH] Skip force linking for existing symlinks --- setup.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/setup.sh b/setup.sh index 7d53778..7c95d8b 100755 --- a/setup.sh +++ b/setup.sh @@ -41,6 +41,12 @@ elif [ $remove -eq 0 ]; then # Symlink files to $HOME, overwrite old symlinks for file in "${copy_files[@]}"; do - ln -svf "${SRC_DIR}/${file}" "${HOME}/${file}" + source="${SRC_DIR}/${file}" + target="${HOME}/${file}" + if [[ -h "$target" ]] && [[ "$source" == "$(readlink -f "$target")" ]]; then + echo "Skipping '${source}' -> '${target}' link as it is already linked" + else + ln -sv "${SRC_DIR}/${file}" "${HOME}/${file}" + fi done fi