Bonjour,
voila, en fait je débute en Shell et je rencontre quelques difficultés. Je vous explique mon problème : J'ai écrit un script shell test.sh, à lintérieur de ce script, j'appelle une fonction verif_val en lui transmettent comme paramètre un tableau de chaine de caractere. Pour chaque valeur de ce tableau, la fonction verif_val vérifie si la valeur est ègale à 18. Si c'est le cas, je voudrais pouvoir sortir de la fonction verif_val et reprendre la main dans mon script test.sh. Pour faire ça, j'ai mis un exit dans la fonction verif_val en cas d'erreur, le problème est que tout le shell s'arrête et que je n'ai plus la main.
J'attends vos propositions pour une solution à ce problème. Merci d'avance.
Vous trouverez ci-joint le script test.sh dans un fichier Word.

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
36
# script test.sh
 
verif_val() {
if (( $val == 18 ))
then 
		echo "erreur"
		exit 1
else 
		echo "Et voila $val"
fi
}
 
integer cpt=1 cpt2=3
 
tab[1]="toto tata"
tab[2]="1 2 3 4 5 6 7 8 9"
tab[3]="11 12 13 14 15 16 17 18 19"
 
 
while (( cpt <= cpt2 ))
do
	for val in ${tab[${cpt}]}
	do
		verif_val
	done
	if (( $? == 0 )) 
	then
			echo "Fin avec succes du test"$cpt
	else
			echo "Echec lors du test"
			exit 1;
	fi
	(( cpt += 1 ))
done
 
exit 0