summaryrefslogtreecommitdiff
path: root/scripts/trash
blob: 5ff5a276aa1d648cdbe926dc25daaf4a993bd85a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh

# Simple trash management. Files are moved to a directory named with the
# current date.

# Usage: trash [rm FILE(s)|ls|empty]

# ksh completion
# set -A complete_trash_1 rm ls empty

trashfolder=$XDG_DATA_HOME/mytrash

usage() {
	echo "Usage: trash [rm FILES... | ls | empty]"
}

if [ -z "$1" ]; then
	usage
	exit 1
fi

case "$1" in
	empty)
		# little check
		if [ -n "$trashfolder" ]; then
			rm -rf "${trashfolder:?}"/*
		fi
		;;
	ls)
		ls "$trashfolder"
		;;
	rm)
		curdir=$(pwd | sed 's|.*/||')
		thisfolder="$trashfolder/$(date +'%Y-%m-%d-%s')-$curdir"
		mkdir -p "$thisfolder"
		shift 1
		mv "$@" "$thisfolder"
		;;
		
	*)
		usage
		exit 1
		;;
esac

Generated with cgit - Back to sebastiano.tronto.net