diff options
author | filip <“filip.rabiega@gmail.com”> | 2025-07-03 21:27:06 +0200 |
---|---|---|
committer | filip <“filip.rabiega@gmail.com”> | 2025-07-03 21:27:06 +0200 |
commit | 1feb678fc3d52a7a3c4e31bb153783852fa08a58 (patch) | |
tree | 9fdd767c7a3324440b96477e64d2cf9b8f62494b /saferm | |
parent | 54a39b322d1e13911d8f03d533ee1ed1a2af17d5 (diff) | |
download | chadscripts-1feb678fc3d52a7a3c4e31bb153783852fa08a58.tar.gz chadscripts-1feb678fc3d52a7a3c4e31bb153783852fa08a58.tar.bz2 chadscripts-1feb678fc3d52a7a3c4e31bb153783852fa08a58.zip |
added new stuff
Diffstat (limited to 'saferm')
-rwxr-xr-x | saferm | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -0,0 +1,39 @@ +#!/bin/sh + +archive="$HOME/.deleted" +realrm="$(which rm)" +copy="$(which cp) -R" + +if [ $# -eq 0 ]; then + exec $realrm +fi + +flags="" + +while getopts "dfiPRrvW" opt +do + case $opt in + f ) exec $realrm "$@" ;; + * ) flags="$flags -$opt" ;; + esac +done +shift $(( $OPTIND - 1 )) + +if [ ! -d $archive ]; then + if [ ! -w $HOME ]; then + echo "$0 failed: can't create $archive in $HOME" >&2 + exit 1 + fi + mkdir $archive + chmod 700 $archive +fi + +for arg +do + newname="$archive/$(date "+%S.%M.%H.%d.%m").$(basename "$arg")" + if [ -f "$arg" -o -d "$arg" ]; then + $copy "$arg" "$newname" + fi +done + +exec $realrm $flags "$@" |