bash : problème de variable non interprété et d'encodage

Page principale

Répondre à ce message
Auteur: anne.guilde@free.fr
Date:  
À: ML Guilde
Sujet: bash : problème de variable non interprété et d'encodage
bonjour,

c'est du bash.

j'aimerais récupérer 4 lignes d'un fichier pour les mettre dans un tableau.
Ces lignes contiennent des noms de variables.

J'ai fait des essais avec read et sed

---------
# on remplit le tableau des lignes a incruster
#k=$lig_deb
#nk=0
#while [ "$k" -ge "$lig_deb" ] &&  [ "$k" -le "$lig_fin" ]  # tant que 
k >= ligne début  et k <= ligne fin
#do
#        nlig=$(($k+1))
#        nlig1="$nlig""p"
#        my_incrust[$nk]=`sed -n  $nlig1  $template`
#        eval my_incrust[$nk]= ${my_incrust[$nk]}
#        nk=$(($nk+1))
#        k=$(($k+1))
#done


i=0
j=0
while read aLine
do
         if [ $i -ge $lig_deb ] && [ $i -le $lig_fin ]
         then
                 eval my_incrust[$j]="$aLine"
                 j=$(($j+1))
         fi
         i=$(($i+1))
done  < $template
---------


le type de ligne que je récupère du fichier
Votre télécopie ▒| $number a été envoyée avec succès.

Il y a 2 problèmes :
1 problème d'encodage
1 problème d'interprétation de la variable


++ sed -n 7p etc/templates/fr/notify-done.txt^M
+ my_incrust[$nk]='Votre télécopie ▒| $number a été envoyée avec succès.'


On m'a conseillé d'utiliser eval, mais ce n'est pas la solution non plus

++ sed -n 7p etc/templates/fr/notify-done.txt^M
+ my_incrust[$nk]='Votre télécopie ▒| $number a été envoyée avec succès.'^M
+ eval 'my_incrust[0]=' Votre télécopie ▒| '$number' a été envoyée avec
succès.^M
++ my_incrust[0]=^M
++ Votre télécopie ▒| 9095xxxxxxx a été envoyée avec succès.^M
bin/notify-sme: line 220: Votre: command not found^

Si quelqu'un a une idée...

Anne