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 +) &