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
:Le probleme c 'est que rien ne s'efface, mais sur la sortie standard j'obtiensCode:
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"
Je ne comprend pas pourquoi les commandes echo affiche leurs resultat mais pas les commandes de suppressions.Code:
1
2
3
4
5
6 Debut de la suppression Suppression essai2 Suppression f1 Suppression f2 Suppression f3 Fin de la suppression
Je suis vraiment perdu.
Merci