summary refs log tree commit diff
path: root/bin/saferm
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-02-10 12:32:48 +0100
committerRobert Günzler <r@gnzler.io>2026-02-10 12:41:25 +0100
commit63feeb9f369fc6176e85c1c2d8fcc863caad1946 (patch)
tree41cd5d2d1ec36e74e464caab722cc9b460153f04 /bin/saferm
parent5bd0a4aca65ecb9818ef1285982d160b6b6ff665 (diff)
start new
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bin/saferm')
-rwxr-xr-xbin/saferm75
1 files changed, 0 insertions, 75 deletions
diff --git a/bin/saferm b/bin/saferm
deleted file mode 100755
index 6cfed12..0000000
--- a/bin/saferm
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-
-set -e
-[ -n "$DEBUG" ] && set -x
-
-if [ ! -t 1 ] || [ -n "$UNSAFE_RM" ]; then
-	# shellcheck disable=SC2068
-	exec /bin/rm "$@"
-fi
-
-# stop me from being stupid
-
-OPTIND=0
-for o in "$@"; do
-	OPTIND+=1
-	if [ -d "$o" ] || [ -f "$o" ]; then
-		break
-	fi
-	[ "$o" = "-r" ] && recurse=1
-	[ "$o" = "-f" ] && force=1
-	[ "$o" = "-rf" ] && force=1 && recurse=1
-	[ "$o" = "-h" ] && {
-		printf "usage: saferm\n\n"
-		exit 0
-	}
-done
-
-if [ -n "${force}" ] && [ -n "${recurse}" ]; then
-	tput setaf 1
-	(
-		echo "!"
-		echo "!" "recursive force not allowed"
-		echo "!"
-	) >&2
-	tput sgr0
-	exit 1
-fi
-
-rm_prompt_arg=-I
-files=()
-for ((idx = OPTIND; idx <= $#; idx++)); do
-	if [ -e "${!idx}" ]; then
-		if [ -d "${!idx}" ]; then
-			tput setaf 1
-			(
-				exa --color=never --all --tree -- "${!idx}" >&2
-				echo "!"
-				echo "!" "$(du -sh --total -- "${!idx}" | grep total)"
-				echo "!" "$(fd --no-ignore --type file -- . "${!idx}" | wc -l)" "files"
-				echo "!" "$(fd --no-ignore --type directory -- . "${!idx}" | wc -l)" "directories"
-				echo "!"
-			) >&2
-			tput sgr0
-		else
-			tput setaf 1
-			echo "${!idx}" >&2
-			files+=("${!idx}")
-		fi
-	fi
-done
-
-if [ ${#files[@]} -gt 0 ]; then
-	rm_prompt_arg=-i
-	tput setaf 1
-	(
-		echo "!"
-		echo "!" "$(du -sh --total -- "${files[@]}" | grep total)"
-		echo "!" "${#files[@]}" "files"
-		echo "!"
-	) >&2
-	tput sgr0
-fi
-
-# shellcheck disable=SC2068
-exec /bin/rm ${rm_prompt_arg} --one-file-system "$@"