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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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