Прямо сейчас это производит значение, в котором я нуждаюсь на stdout. Как я могу получить его в переменную, таким образом, я могу использовать его в остальной части сценария?
Требования:
.
#!/bin/bash
cat << EOF | xsltproc - ../pom.xml | tail -1
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/"><xsl:value-of select="/project/version"/></xsl:template>
</xsl:stylesheet>
EOF
Это кажется, работает (на основе ответа Игнасио). Используя подпункл, то здесь документ правильно подключен к XSLTProc, пока все еще передается через хвост после.
VERSION=$((xsltproc - ../pom.xml | tail -1) << EOF
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/"><xsl:value-of select="/project/version"/></xsl:template>
</xsl:stylesheet>
EOF
)
. Cat ... |
не обязательно.
foo=$(sed 's/-/_/g' << EOF
1-2
3-4
EOF
)