I need to write some complex xml to a variable inside a bash script. The xml needs to be readable inside the bash script as this is where the xml fragment will live, it's not being read from another file or source.
So my question is this if I have a long string which I want to be human readable inside my bash script what is the best way to go about it?
Ideally I want:
- to not have to escape any of the characters
- have it break across multiple lines making it human readable
- keep it's indentation
Can this be done with EOF or something, could anyone give me an example?
e.g.
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