繁体   English   中英

curl命令无法传递bash参数

[英]curl command unable to pass bash parameter

所以我是curl的新手,我正在尝试编写一个可以运行的bash脚本来下载文件。 所以我从身份验证开始,然后发出POST请求下载。 我得到一个Foo_ID,我在其中使用bash解析并设置为参数。 然后我尝试通过下载URL使用GET某些Foo数据。 我遇到的问题是每当我传入我从POST响应中解析的参数时,我什么也得不到。 这是我正在做的一个例子。

#!/bin/bash
curl -b cookies -c cookies -X POST @login_info -d "https://foo.bar.com/auth"
curl -b cookies -c cookies -X POST @Foo_info -d "https://foo.bar.com/foos" > ./tmp/stuff.t
myFooID=`cat ./tmp/stuff.t |grep -Po '"foo_id:.*?",'|cut -d '"' -f 4`
curl -b cookies -c cookies "http://foo.bar.com/foo-download?id=${myFooID}" > ./myFoos/Foo1.data

我已经回复了myFooID,以确保它是正确的,它是。 我也回应了“https://foo.bar.com/foo-download?id=${myFooID}”,它正确显示我需要的URL。 任何人都可以帮我这样,就像我说我是新手使用curl和使用bash命令有点生疏。

所以我解决了这个问题。 问题是在为Foo做我的帖子之后我没有给你足够的时间来创建我的foo,然后再尝试下载它。 我在最后两个curl命令之间添加了一个sleep命令,现在它完美地运行了。 我要感谢Dennis Williamson帮我清理我的代码,这让我理解了我的问题。 我在我的桌子上为他创造了一座神殿。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM