[KSH] Mes variables se superposent quand je les imprime à la suite
Bonjour,
j'ai un problème de comportement avec le script suivant, dont le but est de récupérer une variable dans un fichier de config, par sa clé.
Le fichier ressemble à ça:
Code:
1 2 3 4 5
|
BOUCHON_HOST=11.22.33.44
BOUCHON_LOGIN=login
BOUCHON_PWD=motdepasse
BOUCHON_RACINE=/un/chemin/normal/ |
et le script:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
# $1= la cle recherchée $2=le fichier dans lequel lire
getPropertyFile(){
VALEUR=""
while read Line
do
echo ${Line} | awk -F"=" '{print $1}' | read CLE
if [ $CLE = $1 ]
then
echo ${Line} | awk -F"=" '{print $2}' | read VALEUR
VALEUR_TMP=X${VALEUR}X
if [ ${VALEUR_TMP} = "XX" ]
then
VALEUR="VALEUR NON TROUVEE"
fi
fi
done < $2
}
getPropertyFile BOUCHON_HOST paramFtp.cnf
FTPHOST=$VALEUR
getPropertyFile BOUCHON_LOGIN paramFtp.cnf
FTPLOGIN=$VALEUR
echo $FTPHOST
echo $FTPLOGIN
echo "et la c'est le drame:"
echo "$FTPHOST $FTPLOGIN" |
Les impressions de mes variables une par une se passent bien, mais quand je les imprime ensemble, j'ai un vieux bug, comme si mes variables se superposaient (en plus le troisième echo commence par un espace):
Code:
1 2 3 4 5 6 7
|
wmadmD01 MAGELLAN:# ./test.sh
11.22.33.44
login
et la c'est le drame:
login33.44
wmadmD01 MAGELLAN:# |
Quelqu'un a une idée?
J'ai essayé diverses combinaisons de tr et de sed pour supprimer les caractères spéciaux mais sans résultat :'(
Merci d'avance