Script mecanisme corbeille

Fermé
fischer - 19 avril 2011 à 02:39
mamiemando Messages postés 33356 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 - 20 avril 2011 à 08:46
Bonjour,
j'ai fais un script mecanisme corbeille sous ubuntu et je voudrais que quelqu'un me le corrige,mercci
#!/bin/bash



if ! test -d .trash

then

mkdir .trash

touch ./.trash/list

echo 0 > ./.trash/nbre_fichier

else

if ! test -f ./.trash/list

then

touch ./.trash/list

fi





if ! test -f ./.trash/nbre_fichier

then

echo 0 > ./.trash/nbre_fichier

fi



fi







# les options



case $1 in



# pour force



"-f")

for i in $*

do

rm $i

done

;;







# pour query



"-q")



cat listeff



;;


# pour restore


"-r")





nb='cat ./.trash/nbre_fichier'

i=0

for PAR in $*

do

if test -f $PAR

then

i=$(($i+1))

NEWFIC=$(($nb-$i))

mv ./.trash/$PAR ./

echo "'pwd'./.trash/$PAR file$NEWFIC Effacer" >> ./list

echo $NEWFIC > ./.trash/nbre_fichier



else

echo "impossible de supprimer le dossier $PAR"

fi

done





;;







# pour empty



"-e")

a=$(wc -l < list)

for i in $a

do



rm -rf ./.trash/file$i



done

rm ./.trash/list

rm ./.trash/nbre_fichier

;;



#Effacer un Répertoire et son contenu



"-c")

nb='cat ./.trash/nbre_fichier'

j=0

for k in $*

do

if test -d $k

then

j=$(($j+1))

n=$(($nb+$j))



mv $k ./.trash/file$n

echo "'pwd'/$k " >> listeff

echo "'pwd'/$k file$n" >> ./.trash/list

echo $n > ./.trash/nbre_fichier





fi

done



;;













# Mode normal(sans les options)

*)



nb='cat ./.trash/nbre_fichier'



i=0

for s in $*

do

if test -f $s

then

i=$(($i+1))

m=$(($nb+$i))

mv $s ./.trash/file$m



echo "'pwd'/$s file$m" >> ./.trash/list



echo "'pwd'/$s " >> listeff



echo $m > ./.trash/nbre_fichier



else

echo "impossible de supprimer le dossier $s"

fi

done





;;

esac



A voir également:

1 réponse

mamiemando Messages postés 33356 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 7 799
20 avril 2011 à 08:46
Le script étant beaucoup trop aérer et non indenté ça ne donne pas trop envie de le lire. Utilise les balises de codes (<> au dessus de la boîte dans laquelle tu tapes ton message) pour rendre le tout plus lisible.

Mais déjà,
- le répertoire de la poubelle devrait être ~/.local/share/Trash ou encore $HOME/.local/share/Trash,
- les noms de variables devraient faire plus d'une lettre pour qu'on ait une chance de comprendre le programme
- les messages d'erreur devraient écrits ainsi :

echo "message d'erreur" >&2


Bonne chance
0