Script mecanisme corbeille
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
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:
- Script mecanisme corbeille
- Corbeille whatsapp - Guide
- Script vidéo youtube - Guide
- Ou trouver la corbeille - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
1 réponse
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 :
Bonne chance
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