Bonjour à toutes et à tous j'ai un petit problème dans ce programme :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
#!/bin/bash
 
 
#Déclaration des variables
chemin=$HOME/menu
j=0
i=0
 
#Verrification si on passe bien un parametre
if [ "$#" -eq 1 ]
    then
    #Verrification que $1 est bien un repetoire
	if [ -d "$chemin/$1" ]
	    then
            # Si il l'est on regarde de quel type sont les fichier du repertoire
	      for fichier in "$chemin/$1/*.*"
		do
		   if [ -d "$chemin/$1/$fichier"]
		     then
			i=`expr $i + 1`
		   fi
		   if [ -f "$chemin/$1/$fichier"]
		     then
		       j=`expr $j + 1`
		   fi
		 done
		 echo "nombre de repetoire $i"
		 echo "nombre de fichier $j"
	else
		echo "$1 n'est  pas un repertoire"
	fi
else
    echo "nombre de parametre incorrecte"
fi
C'est lorsque je lui passe le repertoire livre qui contient deux fichiers et qui se trouve dans menu il m'indique qu'il y a 0 fichiers et 0 repertoire ? !

J'ai pu remarqué en faisant un test qu'il ne parcourt qu'une fois la boucle for alors qu'il devrait le faire 2 fois vu qu'il y a deux fichiers.

Mais je ne vois pas où est l'erreur dans l'écriture de la boucle ? !

Amicalement crodilus