#!/bin/sh # # "rc" K. J. Turner 28/03/97 # # This script recycles the files and directories, given as arguments, to the # NeXT trash folder: # # rc file1 directory1/ file2 directory2 # # If a file or directory already exists in the trash directory, the script # asks before overwriting it unless the -f (force) flag is given. prog="`basename $0`" # set program name trdir="${TRASH:-$HOME/.trash}" # set trash directory force=0 # don't force overwrite if [ ! -d $trdir ] then mkdir $trdir fi trap 'echo; echo $prog: abandoned; echo; exit 1' 2 3 15 while [ $# -gt 0 ] do case $1 in -f) force=1;; # force overwrite -*) echo "$prog: Unknown flag \"$1\"";; *) break 2;; # continue after options esac shift done if [ $# -eq 0 ] # no parameters? then # print usage echo "usage: $prog [-f] file [file...]" 1>&2 # report parameters exit 1 else # some parameters to process while [ $# -ne 0 ] # loop till all read do file="$1" # get file name shift # move to next file nodir=`expr "$file" : '\(.*\)/$'` # remove trailing slash? if [ "$nodir" != "" ] # trailing slash present? then file=$nodir # omit it fi filename="`basename \"$file\"`" # omit directory portion if [ -w "$file" ] # file can be written? then # check if trash file exists # trash file exists and don't force overwrite? if [ -w "$trdir/$filename" -a $force -eq 0 ] then # ask to overwrite echo -n "$prog: remove $filename (y/n)? " read ans # read Y or y if [ "$ans" != "Y" -a "$ans" != "y" ] then continue # don't trash if not Y or y else rm -fr "$trdir/$filename" fi fi mv "$file" "$trdir/$filename" # trash it else # cannot remove file echo "$prog: cannot recycle $filename" 1>&2 fi done fi exit 0