summaryrefslogtreecommitdiff
path: root/scripts/trash
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/trash')
-rwxr-xr-xscripts/trash44
1 files changed, 44 insertions, 0 deletions
diff --git a/scripts/trash b/scripts/trash
new file mode 100755
index 0000000..5ff5a27
--- /dev/null
+++ b/scripts/trash
@@ -0,0 +1,44 @@
1#!/bin/sh
2
3# Simple trash management. Files are moved to a directory named with the
4# current date.
5
6# Usage: trash [rm FILE(s)|ls|empty]
7
8# ksh completion
9# set -A complete_trash_1 rm ls empty
10
11trashfolder=$XDG_DATA_HOME/mytrash
12
13usage() {
14 echo "Usage: trash [rm FILES... | ls | empty]"
15}
16
17if [ -z "$1" ]; then
18 usage
19 exit 1
20fi
21
22case "$1" in
23 empty)
24 # little check
25 if [ -n "$trashfolder" ]; then
26 rm -rf "${trashfolder:?}"/*
27 fi
28 ;;
29 ls)
30 ls "$trashfolder"
31 ;;
32 rm)
33 curdir=$(pwd | sed 's|.*/||')
34 thisfolder="$trashfolder/$(date +'%Y-%m-%d-%s')-$curdir"
35 mkdir -p "$thisfolder"
36 shift 1
37 mv "$@" "$thisfolder"
38 ;;
39
40 *)
41 usage
42 exit 1
43 ;;
44esac

Generated with cgit - Back to sebastiano.tronto.net