[sh] pb d'arithmétique

Fermé
B@|-|@N Messages postés 386 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 7 décembre 2007 - 11 févr. 2005 à 11:13
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 14 févr. 2005 à 10:03
Bonjour à tous.

Voilà mon problème :
nb_files=0;
while read _file; do
        if [ -s $destination_dir/$_file".txt" ]; then
                nb_files=`expr $nb_files + 1`;
        fi
done <<-FIN
  `cat $monFichier`
FIN
echo $nb_files;

En gros j'initialise une variable à 0 puis je teste si des fichiers existent; A chaque fois qu'il trouve qu'un fichier existe, il y a incrémentation de la variable $nb_files de 1. Or après la boucle while, quand je fais un echo $nb_files, cela me retourne : 0...

Je ne comprends pas pourquoi... Pourtant j'initialise ma variable, puis je l'incrémente normalement. Qu'est-ce qui ne va pas dans mon script ?

Bahan

3 réponses

asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
11 févr. 2005 à 11:21
Salut Bahan,

Peut-etre tout simplement que:
nb_files=`expr $nb_files + 1`;
N'est jamais évalué (tests non satisfaits) :)
0
B@|-|@N Messages postés 386 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 7 décembre 2007 62
11 févr. 2005 à 11:28
Arf j'ai oublié de le dire mais en effet, j'ai décommenté le set -x pour avoir de plus amples iunfos sur le déroulement de mon script et voilà ce que je vois :
+ read _file
+ [ -s /tmp/topologie/topo_mms.txt ]
+ expr 14 + 1
nb_files=15
+ read _file
+ [ -s /tmp/topologie/topo_msi.txt ]
+ expr 15 + 1
nb_files=16
+ read _file
+ [ -s /tmp/topologie/topo_pcu_mms.txt ]
+ expr 16 + 1
nb_files=17
+ read _file
+ [ -s /tmp/topologie/topo_gbl.txt ]
+ expr 17 + 1
nb_files=18
+ read _file
+ [ -s /tmp/topologie/topo_dproc.txt ]
+ expr 18 + 1
nb_files=19
+ read _file
+ [ -s /tmp/topologie/topo_gb.txt ]
+ expr 19 + 1
nb_files=20
Bahan

Close the world.||.txen eht nepO
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
14 févr. 2005 à 10:03
Re,

Bonche, le bout de script que j'ai fait ça fonctionne impeccable, mais j'ai l'impression que dans ce que tu nous a donné, il manque un bout de code non ? :)
0