Le script delete

Transcription

Le script delete
delete
Dec 19, 01 22:18
Page 1/1
#!/bin/bash
#
###########################################################################
# Commande delete
#
Effectue une sauvegarde du fichier dans une poubelle
#
avant de le supprimer.
#Definition des variables
TRASH="$HOME/.Trash"
#Emplacement de la poubelle
function usage
{
echo −e "\nLa commande \"delete\" sauve le fichier avant de le supprimer"
echo −e "\t delete [−h] f"
echo −e "\t ou −h affiche ce message"
echo −e "\t et f est le fichier à supprimer"
return 0
}
while getopts ":h" OPT
do
case $OPT in
h) usage
exit 1;;
?)
echo "Erreur de syntaxe !!!"
usage
exit 1;;
esac
done
shift $(($OPTIND−1))
# Verification si il y a au moins un argument
if [ "$#" −lt "1" ]
then
echo "Erreur de syntaxe !!!"
usage
exit 1
fi
#verification si le repertoire .Trash existe
if [ ! −e $TRASH ]
then
mkdir $TRASH
#creation du repertoire poubelle
fi
#Nous traitons chaque argument de la ligne de commande
for ARG in $*
do
#Nous recuperons le nom seul
NAME=‘basename $ARG‘
#Nous recuperons le chemin seul
FULLPATH=‘dirname $ARG‘
if [ "$FULLPATH" = "." ]
then
FULLPATH=‘pwd‘
fi
#On verifie si la poubelle contient deja ce nom de fichier
if [ −e $TRASH/$NAME ]
then
echo "Il existe deja un fichier $ARG dans la poubelle"
continue
#on passe à l’argument suivant
else
#on verifie si le fichier donne sur la ligne de commande
#existe
if [ −e $ARG ]
then
echo "$FULLPATH/$NAME" > $TRASH/$NAME.info
mv $ARG $TRASH
echo "$ARG a ete poubellise..."
else
echo "$ARG n’existe pas"
fi
fi
done
exit 0
Thursday December 20, 2001
1/1

Documents pareils