[sh] pb d'arithmétique
B@|-|@N
Messages postés
386
Statut
Membre
-
asevere Messages postés 13521 Statut Webmaster -
asevere Messages postés 13521 Statut Webmaster -
Bonjour à tous.
Voilà mon problème :
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
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
A voir également:
- [sh] pb d'arithmétique
- Moyenne arithmétique excel - Guide
- Sh pause ✓ - Forum Shell
- Sh addition ✓ - Forum Shell
- Sh do while ✓ - Forum Shell
- Executer .sh - Forum Linux / Unix
3 réponses
Salut Bahan,
Peut-etre tout simplement que:
Peut-etre tout simplement que:
nb_files=`expr $nb_files + 1`;N'est jamais évalué (tests non satisfaits) :)
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 :
Close the world.||.txen eht nepO
+ 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=20Bahan
Close the world.||.txen eht nepO