Bonjour à tous,

J'ai créer une fonction, et j'aimerai qu'elle prenne en paramètre deux tableaux (ça a pour but de copier les fichiers dans SOURCE, vers les répertoires de CIBLE => cp $SOURCE /mon_repertoire/$CIBLE pour chaque ligne des tableaux).
J'ai trouvé une manière de faire sur le net, mais le souci c'est que si une valeur dans le tableau est vide, il la supprime...
Voilà mon script, merci pour votre aide :

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
 
#!/bin/bash
 
 
export SOURCE=(
	"fichier1"
	"fichier2"
	"fichier3"
	"fichier4"
)
 
export CIBLE=(
	"rep1"
	""
	"rep1/sousrep1"
	""
)
 
function test
{
	array_1=($(eval echo $(echo \${$1[@]})))
	array_2=($(eval echo $(echo \${$2[@]})))
	for file_1 in ${array_1[*]}
	do
		echo "$file_1"
	done
	echo "----"
	for file_2 in ${array_2[*]}
	do
		echo "$file_2"
	done
}
 
test SOURCE CIBLE
J'ai ça en sortie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
bash-3.2$ ./s.sh
fichier1
fichier2
fichier3
fichier4
----
rep1
rep1/sousrep1
bash-3.2$
Et j'aimerais qu'il retrouve mes lignes vides dans le tableau "CIBLE" sinon ça me décale tout au niveau des répertoires..