当我在bash shell脚本中发送curl命令时,我得到如下输出
< Date: Fri, 14 Jul 2017 10:21:25 GMT
< Set-Cookie: vmware-api-session-id=7ed7b5e95530fd95c1a6d71cf91f7140;Path=/rest;Secure;HttpOnly
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Type: application/json
我如何访问vmware-api-session-id
。我应该在执行curl时将它存储在变量中吗?
答案 0 :(得分:0)
您可以执行以下命令:
sessionid=`[YOUR CURL COMMAND] 2>&1 | grep -o vmware-api-session-id=[0-9a-z]+ | grep -o [0-9a-z]+`
2>&1
将stderr发送到stdout。你需要这个,因为curl将会话信息发送给stderr。
使用您的示例值,这将转换为
sessionid=7ed7b5e95530fd95c1a6d71cf91f7140
现在,您可以通过添加变量${sessionid}
如果您想要导出vairable,可以使用:
sessionid=`[YOUR CURL COMMAND] 2>&1 | grep -o vmware-api-session-id=[0-9a-z]+ | grep -o [0-9a-z]+`
export sessionid
或更短
export sessionid=`[YOUR CURL COMMAND] 2>&1 | grep -o vmware-api-session-id=[0-9a-z]+ | grep -o [0-9a-z]+`