#!/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 ) &