我有一个bash脚本,它将xml数据卷曲到一个URL。 xml数据当前是一个单独的xml文件,该方案中的所有内容都可以正常工作。我想获取xml文件的内容,将其粘贴到bash脚本中,然后使用curl传递该数据。我要问的是,基本上,你如何将bml数据分配给bash中的变量?
答案 0 :(得分:0)
您可以使用here-doc。如curl
文档中所述:
如果您使用字母
@
启动数据,其余部分应该是用于读取数据的文件名,或者-
如果您希望curl从stdin读取数据。
curl -v -H "Content-type: application/xml" --user u:p -X PUT --data @- "http://..." <<EOF
<?xml version="1.0" standalone="yes"?>
<root>
<artifact>
<a>1.zip</a>
<b>2-SNAPSHOT.zip</b>
<c>3-SNAPSHOT.zip</c>
</artifact>
<artifact>
<a>4.tar</a>
<b>5.tar</b>
<c>6.tar</c>
</artifact>
</root>
EOF
here here-doc允许你在脚本中提供stdin。