指向bash脚本中变量的文件路径

时间:2013-04-02 09:42:51

标签: bash file variables curl certificate

我想知道是否可以提供而不是文件路径文件内容本身。例如,curl需要指定证书的文件路径。我在变量中有证书时该怎么办? 我不能把它放到stdin中,因为我正在生成xml来发送它。
为什么我把证书变成变量?因为最后我想只有一个带脚本的文件,我可以轻松地分发给我的同事。
我想到的唯一解决方案是将变量保存到文件,然后提供curl的文件路径

read -d '' CERT << "CERTEND"
-----BEGIN CERTIFICATE-----
### something very secret here ###
-----END CERTIFICATE-----
CERTEND

curl -# -k --cert ??? -d @xml.xml -H "Content-Type: application/soap+xml" -H 'SOAPAction: ""' https://1.1.1.1/EndpointPort`

1 个答案:

答案 0 :(得分:1)

您可以使用流程替换:

curl --cert <(echo "$CERT") ...

这将为您创建一个管道。括号中的命令输出转到此管道(在我们的例子中为echo $CERT),并返回管道的文件名。