从shell脚本中调用Curl

时间:2014-11-07 03:00:55

标签: linux bash shell unix ubuntu

我在shell脚本中的代码

#!/bin/bash

oauth_consumer_key='sdfsfsd'
oauth_consumer_key_secret='1sdfsdfs1'
oauth_token='5wrwerwr476a1737fe09de2e4ew'
oauth_token_secret='ec2231779e4'

url='https url goes here'

token=$(./oauth $oauth_consumer_key $oauth_consumer_key_secret $oauth_token $oauth_token_secret GET $url)

curl_path='/usr/bin/curl'
curl_args="-H 'Authorization: $token'"

resp=$($curl_path $curl_args $url)

echo $resp

在这里,我首先通过传递params&来运行oauth.sh。捕获令牌中的输出,该输出按预期工作。此输出如下所示:

OAuth oauth_consumer_key="45435", oauth_token="4r43", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1415328827", oauth_nonce="4535345", oauth_version="1.0", oauth_signature="bKeewO%2BTJ7IHjurhtaftn9dNfxA%3D"' 'my url goes here'

现在,我需要通过将上面作为参数传递来调用此程序中的curl命令,如下所示:

curl -H 'Authorization: OAuth oauth_consumer_key="45435", oauth_token="4r43", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1415328827", oauth_nonce="4535345", oauth_version="1.0", oauth_signature="bKeewO%2BTJ7IHjurhtaftn9dNfxA%3D"' 'my url goes here'

当我从终端控制台运行上面的curl命令时,它可以正常工作,但是从我的shell脚本中它出现错误couldn't resolve OAuth

有人可以帮我解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

看起来这条线正在寻找" oauth"在当前目录中。

token=$(./oauth

我会尝试将绝对路径放到oauth而不是./oauth,看看是否有效。

如果这不起作用,我会将其删除一点并在该行之后注释掉所有内容,然后回显$ token并查看它是否显示预期结果并从那里开始。