Szia,
Van ez a script fut, amely jól bár néhány probléma, én próbálok verseng az rm parancsot, és ez azt jelenti, nem használhatja rm könyvtárba, én inted az alias én parancsfájlját rm majd mv, hogy a fájlokat a Kuka mappa helyett törléséhez.
A probléma: ha használhatom mv, hogy a könyvtár be a törölt mappa, ahol a könyvtár minden készen áll kapok egy hiba, azt tervezi, hogy shred az összes fájlt, majd szeretnénk használni rmdir eltüntetésére az üres könyvtárakat a fán.
Saját script itt
Kód:
#!/bin/bash
# Ai program to emulate the "rm" command in UNIX.
# Created by Michael Kelly
# Last revison 12/07/2006
# INITIALIZE VARIABLES
NO_ARGS=0
FLAG_R=""
FLAG_F_I=""
FLAG_V=""
TRASH=$HOME/deleted
# FUNCTIONS
function errors() {
if [ "$#" -eq "$NO_ARGS" ] ; then
echo "rm: too few arguments"
echo "Try \`rm --help' for more information."
exit 0
elif [[ ! -f "$1" && ! -d "$1" ]] ; then
echo "rm: cannot remove $ARG : no such file or directory"
exit 0
elif [[ -d $ARG && "$FLAG_R" = "" ]] ; then
echo "rm: \`$ARG' is a directory"
exit 0
else
checkExisting $1
fi
}
function verbose () {
if [ "$FLAG_V" = "v" ] ; then
echo "removing \`$1'"
fi
}
function interactive () {
echo -n "rm: remove $1 ?"
read A
if [[ "$A" = [Yy] ]] ; then
remove $1
else
exit 0
fi
}
function writePro () {
if ! [ -w "$1" ] ; then
echo -n "rm: remove write-protected file \`$*'?"
read A
if [[ "$A" = [Yy] ]] ; then
delete $1
fi
else
delete $1
fi
}
function checkExisting ()
{
if [ -d "$TRASH/$1" ] || [ -f "$TRASH/$1" ]; then
shred -fp $TRASH/$1 2>/dev/null
rmdir $TRASH/$1 2>dev/null
writePro $1
else
writePro $1
fi
}
function force () {
mv -f $1 $TRASH 2>/dev/null
verbose $1
}
function remove () {
mv $1 $TRASH 2>/dev/null
verbose $1
}
function delete() {
if [ "$FLAG_F_I" = "-i" ] && [ -w "$@" ] ; then
interactive $1
elif [ "$FLAG_F_I" = "-f" ] ; then
force $1
elif [ "$FLAG_R" = "-R" ] ; then
recursive $1
else
remove $1
fi
}
# Getops
while getopts :rRfvi o
do case $o in
r|R) FLAG_R=-R
;;
f) FLAG_F_I=-f
;;
v) FLAG_V=-v
;;
i) FLAG_F_I=-i
;;
*) echo "rm: invalid option -$1"
echo "try \`rm --help' for more information"
exit 0
esac
done
shift `expr $OPTIND - 1`
if ! [ -d "$HOME/deleted" ] ; then
mkdir $HOME/delete
else
for ARG in $*
do
errors $ARG
done
fi
if [ $# -eq $NO_ARGS ] ; then
errors
fi
Azt is kiemelték, a probléma funkcióját félkövér, akarom shred files recrusively majd rmdir ugyanúgy az üres könyvtárakat.
Valaki ajánlotta ezt a parancsot:
Kód:
find -type f -exec shred -u '{}' \;
amely shreds recursivley, de hogyan tudom meg, hogy mely ponton kell kezdeni shreding származik? mikor használják ezt az előtte kimerültem minden file in my home directory-től.
Egyszer én is, hogy válogatni akarom használni, de hasonló parancs helyett rmdir a shred, tud akárki tanácsokkal el nekem, hogy ez?
Üdvözlettel
Jack