diff --git a/plugins/safe-rm/safe-rm.plugin.zsh b/plugins/safe-rm/safe-rm.plugin.zsh new file mode 100644 index 000000000..a16aba7cc --- /dev/null +++ b/plugins/safe-rm/safe-rm.plugin.zsh @@ -0,0 +1,16 @@ +function rm () { + local files + local trash=~/.Trash/ + for files in "$@"; do + # ignore any arguments + if [[ "$files" = -* ]]; then : + else + local dst=${files##*/} + # append the time if necessary + while [ -e $trash$dst ]; do + dst=$dst_$(date +%H-%M-%S) + done + /bin/mv $files $trash$dst + fi + done +}