[英]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.