2014-03-24 51 views
0

我有一個包含類似有效的XML文件:如何分配XML節點值bash腳本變量

<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

使用export$(...)捕獲命令的輸出。

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

忽略-1我不知道我在做什麼重新投票,我正在嘗試投票贊成。無論如何,這當然是正確的答案。 – user3444281

+0

@ user3444281我會稍微編輯答案,然後您應該可以將您的投票改爲投票。 – chepner