2017-10-04 5 views
1

J'ai un script shell qui nécessite que l'utilisateur fournisse 5-6 paramètres en entrée. Comment puis-je obtenir tous ces paramètres 5-6 à partir d'un fichier XML?Utilisation de XML pour saisir des entrées pour le script shell

Quels changements vais-je apporter à mon script (actuellement il utilise "read") pour qu'il sélectionne un par un les paramètres du fichier et ensuite l'affecter aux variables respectives pour être utilisé plus loin? (À un stade ultérieur, l'interface web sera développée pour produire le fichier xml, donc j'ai la liberté de supposer que les paramètres seront mis à ma disposition de la manière et de l'ordre que je veux, bien sûr dans le les limites de la syntaxe XML)

+1

Vous pouvez utiliser [xmlstarlet] (http: //freesoftwaremagazine.com/articles/xml_starlet/) pour extraire des valeurs du fichier xml. – marbu

Répondre

1

Eh bien, il y a beaucoup d'outils permettant d'analyser XML avec Bash. XML (`foo.xml '):

<egg>Foo</egg> 

J'utiliseraient xmllint:

xmllint --xpath '//egg/text()' foo.xml 
Foo 

Pour installer xmllint sur debian:

apt-get install libxml2 libxml2-utils 
+1

Ah, non, ne pas analyser XML dans bash comme ça. Vous utilisez des outils XML tels que xmlstarlet à la place. – marbu