summaryrefslogtreecommitdiff
path: root/scripts/trash
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2026-05-06 08:30:49 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2026-05-06 08:30:49 +0200
commit60052659b98832c78c902e4f27ecee2663d8e913 (patch)
tree9efc1388569c43456557aa1975b4bec99bf06c94 /scripts/trash
parent10e16c2fb2266bb2b46ec7ea64d721de0c29a0d9 (diff)
downloadconfig-60052659b98832c78c902e4f27ecee2663d8e913.tar.gz
config-60052659b98832c78c902e4f27ecee2663d8e913.zip
Added scripts
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