Salut,

j'ai essayé de créer un script qui me permet de trouver la liste de tous les répertoires qui contiennent le fichier config. La recherche commence dans le répertoire passé en paramètre au script. La fonction rechercheRecursiveDossier parcourt les sous-répertoires (par ex. A B C D) du dossier passé en paramètre. Si le fichier config se trouve dans le sous-répertoires "A" la fonction n'ira pas chercher le fichier config dans les sous-répertoires de "A" mais elle passera au sous-répertoire "B". Si maintenant le répertoire "B" ne possède pas le fichier config alors la fonction va chercher dans les sous-répertoires de "B" et ainsi de suite.

Voici mon code :

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
 
#!/bin/bash
 
rechercheRecursiveDossier()
{	 
	for line in `find "$1" -mindepth 1 -maxdepth 1 -type d`
	do
		if verifDossier "$line" ;then
			tabRep[${#tabRep[*]}]="$line"
		else
			tabTemp=$(rechercheRecursiveDossier "$repertoire")
			tabRep=("${tabRep[@]}" "${tabTemp[@]}")
		fi
	done
 
	echo "$tabRep"
}
 
verifDossier()
{
	if [ ! -f "$1/config" ] ;then
		return 1
	fi
	return 0
}
 
n=$(rechercheRecursiveDossier $1)
 
echo "$n"
Et voici les erreurs que j'obtiens lorsque je teste mon script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
find: impossible de chercher "": Aucun fichier ou dossier de ce type
find: impossible de chercher "": Aucun fichier ou dossier de ce type
find: impossible de chercher "": Aucun fichier ou dossier de ce type
Si vous avez des idées, n'hésitez pas :p Ou bien si vous avez un autre moyen pour le faire.

Merci d'avance