Affectation de variable automatique via un fichier
Bonjour tout le monde,
Je n'ai pas réussi a expliquer simplement ce que je voulais dans le titre mais voilà mon problème idée:
- Il y a un fichier dans lequel se trouvent des informations sous la forme variable:valeur.
- Je récupère ce fichier, le parse, crée des variables avec les valeurs du fichier puis je travaillerai avec.
Le problème: c'est qu'après des heures à me battre avec awk,sed, j'en suis arrivé à jouer avec eval et cut.
le fichier variable qui contient les variables à traiter:
Code:
1 2 3 4 5 6 7 8
|
Client:NomDUCLIENT
Ip:10.0.0.1
Id:admin
Password:Password-Firewall
Tftp:10.0.0.2
IdTftp:root
PassTftp:Password2 |
Le script qui travaillera avec ces variables
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
#! /bin/bash
cat ./test.xml | while read line
do
if [[ -z $line ]]
then
echo "Empty line"
else
eval$($(echo $line | cut -d: -f1)=$(echo $line | cut -d: -f2))
fi
done |
La console retourne:
Code:
1 2 3 4 5 6 7 8
|
Empty line
./utilisation_XML.sh: line 9: Client=NomDUCLIENT: command not found
./utilisation_XML.sh: line 9: Ip=10.0.0.1: command not found
./utilisation_XML.sh: line 9: Id=admin: command not found
./utilisation_XML.sh: line 9: Password=Password-Firewall: command not found
./utilisation_XML.sh: line 9: Tftp=10.0.0.2: command not found
./utilisation_XML.sh: line 9: IdTftp=root: command not found |
Je sais grâcce au peut d'expérience que j'ai que lorsqu'on commence à se battre avec eval il est temps de faire une pause ^_^
Est-ce que vous sauriez m'aider pour que variable:valeur devienne et que un retourne ?
Merki :)