0

プログラムxmllintのXPath内でBash変数を使用したいと思います。

次の作業コードは、私が達成したい全体的なことを示しています。

    functionInformationTagContent="$(echo "${functionInformation}"\
                | xmllint --xpath '/functionInformation/description/text()' -\
                | xargs -i echo -n "{}")"

次の機能しないコードは、私が達成したい特定のことを示しています。

    functionInformationTag="${1}"
    functionInformationTagContent="$(echo "${functionInformation}"\
                | xmllint --xpath '/functionInformation/<clever code>"${functionInformationTag}"<clever code>/text()' -\
                | xargs -i echo -n "{}")"

一般化の目的で、XPath引数でBash変数を使用できるようにしたいことがわかります。私がこれをどのように達成できるか知っていますか?私を正しい方向に向けていただけませんか。

あなたの援助に百万をありがとう!

4

1 に答える 1

4

あなたの2番目のコメントは右に非常に近いです。

最も外側の引用符が単一引用符である場合、変数は決して展開されないことを思い出してください。文字列をすべて1つの引数として保持するために互いに「接触」している限り、一重引用符と二重引用符の間で「トグル」できるはずです。試す :

xmllint --xpath '/functionInformation/<clever code>'"${functionInformationTag}"'<clever code>/text()' -\
#--------------------------------------------------^^-------------------------^^----

IHTH

于 2013-02-08T19:30:35.353 に答える