ok je pensais juste que ca venait d'un truc style, lorsqu'on lance la boucle il crée un fork, du coup les variables sont incrementés dans le process fils mais pas remonté dans le pere ou un truc du genre.
Demain j'essairai de poster le code, tout ce que je peux dire la c'est que la boucle est lancé comme ca:
cat $fichier | grep "switchs" | grep -v "^#" | while read host ip reste
do
.
.
.
done
Avec une incrementation dans la boucle selon les resultats (une trace prouve qu'elle se fait bien). host contient le nom de chaque switch, ip leur ip et reste contient des conneries dont on se sert pas.
J'aurai quand meme du mal a poster le code vu qu'il doit faire au moins 500 lignes...disons qu'il n'y a pas d'erreur de syntaxe a l'interieur, tout se passe bien, les variables sont bien incrémentés sans soucis, mais lorsque la boucle se terminent, elles retrouvent toutes leur valeurs d'origine soit 0