Files
dotfiles/fish/files/script.sh

50 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Directory to process
TARGET_DIR="/home/thomasgl/.config/fish-backup" # Make sure this is the correct, full path
# Check if the directory exists
if [ ! -d "$TARGET_DIR" ]; then
echo "Error: Directory '$TARGET_DIR' not found."
exit 1
fi
# Find symlinks and process them
find "$TARGET_DIR" -type l -print0 | while IFS= read -r -d $'\0' SYMLINK; do
echo "Processing symlink: $SYMLINK"
# Get the target of the symlink
TARGET=$(readlink "$SYMLINK")
# Check if readlink was successful and the target exists
if [ $? -eq 0 ] && [ -e "$TARGET" ]; then
echo " Target: $TARGET"
# *** Explicitly remove the symlink BEFORE copying ***
echo " Removing symlink: $SYMLINK"
rm "$SYMLINK"
# Check if removal was successful
if [ $? -eq 0 ]; then
# Copy the target file to the location where the symlink was
echo " Copying target to $SYMLINK"
cp "$TARGET" "$SYMLINK"
if [ $? -eq 0 ]; then
echo " Replaced symlink with a copy of the target."
else
echo " Error: Failed to copy target to $SYMLINK."
fi
else
echo " Error: Failed to remove symlink: $SYMLINK. Cannot proceed with copy."
fi
else
echo " Warning: Could not resolve target for '$SYMLINK' or target does not exist."
fi
done
echo "Processing complete."