我有一个有效的xml文件,其中包含:
<ConfigSettings>
<pairs>
<p>
<Name>InstallDirectory</Name>
<Val>/Library/Application Support/Home</Val>
</p>
...其他对跟随......
在命令行上,以下方法可以返回正确的<Val>
字符串:
echo 'cat /ConfigureSDK/ConfigSettings/pairs/p[Name="InstallDirectory"]/Val/text()' | xmllint --shell initsdk.xml | grep -v "^/ >"
但是,当我尝试将结果分配给脚本中的变量时,例如,
ABC='cat /ConfigureSDK/ConfigSettings/pairs/p[Name="InstallDirectory"]/Val/text()' | xmllint --shell initsdk.xml | grep -v "^/ >"
然后尝试
echo $ABC
什么都没打印出来。
我确信我错过了一些简单的东西,但我尝试了很多变化无济于事。
感谢您的帮助。
答案 0 :(得分:1)
使用export
和$(...)
来捕获命令的输出。
$ export A=$(echo Hello)
$ echo $A
Hello