dotfiles/.local/bin/scripts/rd

22 lines
571 B
Bash
Executable File

#!/bin/sh
# Remove recursively safely
case "$1" in ([0-9]) depth=$1; shift;; esac
for f in "$@"
do
test -w "$f" && elevate="" || elevate=sudo
if test -d "$f"; then
if test -e "$f/.git" || test -e "$f/packed-refs"
then echo -n "Force delete git project $f? "
read answer
test "$answer" = "y" &&
$elevate rm -rf "$f"
else find "$f" -maxdepth 4 -empty -printf "Removing empty %p\n" -delete
test -e "$f" &&
echo -n "$f ($(ls -A $f | head -3 | paste -s -d' ')) " >&2 &&
$elevate rm -rI "$f"
fi
else $elevate rm -i "$f"
fi
shift
done