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:
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