dotfiles/.local/bin/scripts/rd

25 lines
630 B
Plaintext
Raw Normal View History

2022-01-05 16:53:06 +00:00
#!/bin/sh -e
# Remove recursively safely
2021-11-09 04:37:07 +00:00
case "$1" in ([0-9]) depth=$1; shift;; esac
2021-12-12 10:35:36 +00:00
for f in "${@-.}"
do
2021-10-04 08:46:40 +00:00
test -w "$f" && elevate="" || elevate=sudo
2022-01-05 16:53:06 +00:00
if test -d "$f"
then
if test -e "$f/.git" || test -e "$f/packed-refs"
2022-01-05 16:53:06 +00:00
then echo -n "Force delete git project $f? "
read answer
test "$answer" = "y" &&
$elevate rm -rf "$f"
else
find "$f" -maxdepth 4 -not -name ".stfolder" -empty -printf "Removing empty %p\n" -delete
test $# -eq 0 && exit $?
if test -e "$f"; then
2022-01-05 16:53:06 +00:00
echo -n "$f ($(ls -A "$f" | head -3 | paste -s -d' ')) " >&2 &&
$elevate rm -rI "$f"
fi
fi
2022-01-05 16:53:06 +00:00
else $elevate rm -i "$f"
fi
done