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:
et le script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 BOUCHON_HOST=11.22.33.44 BOUCHON_LOGIN=login BOUCHON_PWD=motdepasse BOUCHON_RACINE=/un/chemin/normal/
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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"
Quelqu'un a une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:#
J'ai essayé diverses combinaisons de tr et de sed pour supprimer les caractères spéciaux mais sans résultat :'(
Merci d'avance
Partager