如何将xml节点值分配给bash脚本变量

时间:2014-03-24 14:39:15

标签: xml bash shell

我有一个有效的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

什么都没打印出来。

我确信我错过了一些简单的东西,但我尝试了很多变化无济于事。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用export$(...)来捕获命令的输出。

$ export A=$(echo Hello)
$ echo $A
Hello