这是我正在尝试的代码:
echo "type in code"
read code1
echo (xmllint --xpath '/rates/currency[code="$code1"]/rate/text()' rates.xml)
打印“XPath set为空” 它应该打印出我的xml文档中的速率。打印的费率由货币代码(澳元,美元,欧元等)决定。如果它将被输入:
echo (xmllint --xpath '/rates/currency[code="GBP"]/rate/text()' rates.xml)
它将回显代码为GBP的货币的正确汇率。
为什么?如何解决?
答案 0 :(得分:1)
在查询字符串周围使用双引号,以便$code
扩展到字符串中的值:
echo $(xmllint --xpath "/rates/currency[code=\"$code1\"]/rate/text()" rates.xml)
答案 1 :(得分:1)
交换引号分隔符xmllint --xpath "/rates/currency[code='$code1']/rate/text()" rates.xml
。