aide bash

Page principale

Répondre à ce message
Auteur: anne aublanc
Date:  
À: guilde
Sujet: aide bash
bonjour,

J'ai ce code

#!/bin/sh
...
# read file for multicast
if [ "${FAXNUMTOS}" != "" ] ; then
    i=0
    cat ${FAXLIST} | while read line   # read file line by line
    do
        NBRLIST[$i]=`echo $line | cut -d"|" -f1 `   # extract numéro fax 
destinataire (obligatoire)
        NAMEDEST[$i]=`echo $line | cut -d"|" -f2 `  # nom destinataire 
(facultatif)
        i=$(($i+1))
        echo $i
        echo ${NBRLIST[@]}
    done
    echo "--$i--"
    i=$(($i-1))
    echo "--${i}--"
    echo "--${NBRLIST[@]}--"
fi
...


résultat :
+ i=0
+ cat /tmp/listfax
+ read line
++ echo '123456||'
++ cut '-d|' -f1
+ NBRLIST[$i]=123456
++ echo '123456||'
++ cut '-d|' -f2
+ NAMEDEST[$i]=
+ i=1
+ echo 1
1
+ echo 123456
123456
+ read line
++ echo '987654321|titi|'
++ cut '-d|' -f1
+ NBRLIST[$i]=987654321
++ echo '987654321|titi|'
++ cut '-d|' -f2
+ NAMEDEST[$i]=titi
+ i=2
+ echo 2
2
+ echo 123456 987654321
123456 987654321
+ read line
+ echo --0--
--0--
+ i=-1
+ echo ---1--
---1--
+ echo ----
----

Quand je sors de la boucle, y-a plus rien dans le tabeau et dans la variable
i

Si vous pouviez m'expliquer l'erreur!

anne