From 99c43a5420ca330cb091564a6dfff8ace1e1dc4a Mon Sep 17 00:00:00 2001 From: arcan1s Date: Fri, 31 Jan 2014 02:50:41 +0400 Subject: [PATCH] edited rm function --- _posts/2014-01-14-about-zshrc.html | 11 ++++++++--- ru/_posts/2014-01-14-about-zshrc.html | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/_posts/2014-01-14-about-zshrc.html b/_posts/2014-01-14-about-zshrc.html index 0ae2da6..f4650f8 100644 --- a/_posts/2014-01-14-about-zshrc.html +++ b/_posts/2014-01-14-about-zshrc.html @@ -446,7 +446,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 @@ -454,8 +454,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 } {% endhighlight %} diff --git a/ru/_posts/2014-01-14-about-zshrc.html b/ru/_posts/2014-01-14-about-zshrc.html index 62e378b..94e350a 100644 --- a/ru/_posts/2014-01-14-about-zshrc.html +++ b/ru/_posts/2014-01-14-about-zshrc.html @@ -446,7 +446,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 @@ -454,8 +454,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 } {% endhighlight %}