我希望使用cURL更新twitter。我写了一个bash函数,但我不知道如何让它接受一行作为参数用作状态文本。当前函数只接受第一个单词作为参数。另外,我可以阻止它返回XML文件或禁止它转到stdout吗?
#!/bin/bash
function tweet {
curl -s -u username:password -d status="$1" http://twitter.com/statuses/update.xml
}
PS - 我知道还有其他问题:关于SO的cURL和Twitter但没有人回答我的问题。
答案 0 :(得分:3)
是的,是的。在bash中,您希望使用$ *而不是$ 1。要禁止任何内容转到stdout,只需将其重定向到/ dev / null即可。所以,你的代码看起来像:
#!/bin/bash
function tweet {
curl -u username:password -d status="$*" http://twitter.com/statuses/update.xml > /dev/null
}
更新
正如已经指出的那样,由于对twitter的身份验证方法的更改,这将不再有效。我会因为历史原因留在这里。
答案 1 :(得分:2)
这是一个将发布到Twitter的当前正在运行的bash脚本:
使用curl用bash编写。在Ubuntu上完美运行!
答案 2 :(得分:1)
随机猜测:在bash中输入命令时,您是否尝试将第一个命令行arg放在“”中,以便将整个帖子分组为$ 1?这适用于一些炮弹。
答案 3 :(得分:0)
也许你只需要创建一个变量并在twitter上发布它。 我通过以下代码发布了当前的ip: http://www.commandlinefu.com/commands/view/3909/tweet-my-ip-see-your-machine-ip-on-twitter-
答案 4 :(得分:0)
使用Twitter发送推文,您需要 post_authenticity_token 以及 用户名 和 密码 < / strong>即可。 这个令牌可以通过使用curl获取(在您使用curl登录后)从您的个人资料页面获取。我尝试了卷曲,并能够使用卷曲发推文。你可以找到我的代码 http://pastebin.com/a5eBcEeP。