From 2d97eb8ada9aa23d56b115c3c5ccaf76145feffc Mon Sep 17 00:00:00 2001 From: Nathan Schneider Date: Fri, 9 May 2025 15:02:07 -0700 Subject: [PATCH] Improved trash script --- .bash_aliases | 4 +--- .scripts/trash.sh | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100755 .scripts/trash.sh 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 "$@"