J'ai besoin d'écrire un xml complexe dans une variable à l'intérieur d'un script bash. Le xml doit être lisible à l'intérieur du script de bash car c'est là que le fragment de xml va vivre, il n'est pas lu depuis un autre fichier ou une autre source.
Ma question est donc la suivante : si j'ai une longue chaîne de caractères que je veux rendre lisible par l'homme dans mon bash script, quelle est la meilleure façon de procéder ?
Idéalement, je veux :
- pour ne pas avoir à échapper à un des caractères
- faire en sorte qu'il s'interrompe sur plusieurs lignes pour le rendre lisible par l'homme
- conserve son indentation
Cela peut-il être fait avec EOF ou autre, quelqu'un peut-il me donner un exemple ?
par exemple
String = <<EOF
<?xml version="1.0" encoding='UTF-8'?>
<painting>
<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
<caption>This is Raphael's "Foligno" Madonna, painted in
<date>1511</date>-<date>1512</date>.</caption>
</painting>
EOF
0 votes
Je suis prêt à parier que vous allez juste déverser ces données dans un flux à nouveau. Pourquoi les stocker dans une variable alors que vous pourriez rendre les choses plus complexes et utiliser des flux ?
0 votes
Voyez cela aussi : Chaîne de caractères multi-lignes avec espace supplémentaire (indentation préservée)