繁体   English   中英

从shell脚本中调用Curl

[英]Invoke Curl from within shell script

我在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

在这里,我首先通过传递参数并捕获按预期工作的令牌中的输出,从此程序中运行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错误

谁能帮我解决这个问题?

谢谢!

看起来这行在当前目录中寻找“ oauth”。

token=$(./oauth

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

如果那行不通,我将其剥离掉,并注释掉该行之后的所有内容,然后回显$ token,看看它是否显示预期的结果并从那里开始。

暂无
暂无

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

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