Bonjour

Je debute en programmation de script shell, je dois ecrire un script qui supprime toute la sous hierarchie d'un repertoire, sans utiliser la commande rm -r.
Mon script s'appel suppr.sh et prend en argument le repertoire a effacer.
le repertoire sur lequel je veux tester le script s'appel essai,
ls essai donne essai2/ f1 f2 f3,essai2 est un repertoire et f1 f2 f3 des fichiers.

voici le script que j'ai ecrit
:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! /bin/sh
# suppr.sh
 
echo "Debut de la suppression"
if [ -d "$1" ];then 
 
for i in `ls $1`;do
    if [ -d "$i" ];then
          echo "Suppression $i"
	 ./suppr.sh $i
    else 
         echo "Suppression $i"
	`rm -f $i`
    fi
 
done
 
fi	
echo "Fin de la suppression"
Le probleme c 'est que rien ne s'efface, mais sur la sortie standard j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Debut de la suppression
Suppression essai2
Suppression f1
Suppression f2
Suppression f3
Fin de la suppression
Je ne comprend pas pourquoi les commandes echo affiche leurs resultat mais pas les commandes de suppressions.

Je suis vraiment perdu.

Merci