diff --git a/.bash_aliases b/.bash_aliases index bb0c6f1..3f13531 100644 --- a/.bash_aliases +++ b/.bash_aliases @@ -32,6 +32,4 @@ alias panda='~/.scripts/panda.sh' alias editalias='nvim ~/.bash_aliases' alias rm='rm -i' alias search='grep -i' -trash() { - mv "$@" ~/.local/share/Trash/files/ -} +alias trash='~/.scripts/trash.sh' diff --git a/.scripts/trash.sh b/.scripts/trash.sh new file mode 100755 index 0000000..fceef16 --- /dev/null +++ b/.scripts/trash.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +trash() { + for item in "$@"; do + if [ -e "$item" ]; then + target_dir="$HOME/.local/share/Trash/files" + mkdir -p "$target_dir" + target_name="$(basename "$item")" + original_name="$target_name" + suffix=1 + while [ -e "$target_dir/$target_name" ]; do + target_name="${original_name%.*}_$suffix.${original_name##*.}" + suffix=$((suffix + 1)) + done + mv "$item" "$target_dir/$target_name" + echo "Moved '$item' to '$target_dir/$target_name'" + else + echo "Error: '$item' does not exist." + fi + done +} + +trash "$@"