From 7832e9bf353aead1e08abf0882a0f7c11b390d0e Mon Sep 17 00:00:00 2001 From: arcan1s Date: Fri, 31 Jan 2014 02:48:14 +0400 Subject: [PATCH] edited rm function --- zshrc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/zshrc b/zshrc index e7bc083..09108fd 100644 --- a/zshrc +++ b/zshrc @@ -182,7 +182,7 @@ rm () { [[ ! $CONFIRM =~ [yY] ]] && return 1 # move for FILE in "$@"; do - DESTFILE="$(basename "${FILE}")" + DESTFILE="$(basename -- "${FILE}")" SUFFIX=''; ITER=0; while [ -e "${TRASHFILE}/${DESTFILE}${SUFFIX}" ]; do @@ -190,8 +190,13 @@ rm () { ITER=$(expr ${ITER} + 1) done echo "Remove '${FILE}'" - mv -- "${FILE}" "${TRASHFILE}/${DESTFILE}${SUFFIX}" || return 1 - echo "[Trash Info]\nPath=$(realpath "${FILE}")\nDeletionDate=$(date +%Y-%m-%dT%H:%M:%S)" > "${TRASHINFO}/${DESTFILE}${SUFFIX}.trashinfo" || return 1 + if [ "$(dirname -- "$(realpath -- "${FILE}")")" == "${TRASHFILE}" ]; then + /usr/bin/rm -rf -- "${FILE}" + /usr/bin/rm -rf -- "${TRASHINFO}/${DESTFILE}.trashinfo" + else + mv -- "${FILE}" "${TRASHFILE}/${DESTFILE}${SUFFIX}" || return 1 + echo "[Trash Info]\nPath=$(realpath -- "${FILE}")\nDeletionDate=$(date +%Y-%m-%dT%H:%M:%S)" > "${TRASHINFO}/${DESTFILE}${SUFFIX}.trashinfo" || return 1 + fi done } su () {