From 683b00ba46edda688f1127ff0064ebc03b42381e Mon Sep 17 00:00:00 2001 From: q Date: Fri, 30 Jan 2015 22:51:31 +0200 Subject: [PATCH] background file removal --- bin/rm_bg | 1 + rm_bg | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 120000 bin/rm_bg create mode 100755 rm_bg diff --git a/bin/rm_bg b/bin/rm_bg new file mode 120000 index 0000000..60a8387 --- /dev/null +++ b/bin/rm_bg @@ -0,0 +1 @@ +../rmbg \ No newline at end of file diff --git a/rm_bg b/rm_bg new file mode 100755 index 0000000..d8f7c50 --- /dev/null +++ b/rm_bg @@ -0,0 +1,24 @@ +#!/bin/bash +set -e +function helpexit() { + echo Delete files in background, by moving the to a temp folder first. + echo This command is always recursive! + exit +} + +[[ -z "$1" ]] && helpexit +[[ "$1" = "-h" ]] && helpexit + +tempfolders=() +for f in "$@"; do + d=$( readlink -nf $( dirname "$f" ) )/.rmgb.$$ + mkdir -p "$d" + mv $f "$d"/ + tempfolders+=( "$d" ) +done + +( +for (( i=0; $i<${#tempfolders[@]}; i++ )); do + rm -rf "${tempfolders[$i]}" +done +) &