我在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
有人可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:0)
看起来这条线正在寻找" oauth"在当前目录中。
token=$(./oauth
我会尝试将绝对路径放到oauth而不是./oauth,看看是否有效。
如果这不起作用,我会将其删除一点并在该行之后注释掉所有内容,然后回显$ token并查看它是否显示预期结果并从那里开始。