Unix 使用带有CURL的终端发布到Twitter
我走了这么远:Unix 使用带有CURL的终端发布到Twitter,unix,curl,twitter,terminal,Unix,Curl,Twitter,Terminal,我走了这么远: :~ curl -u username:password -d status="new_status" http://twitter.com/statuses/update.xml 现在,我如何用变量来别名它,这样我就可以很容易地从终端进行twit了?如何使别名在不同会话中工作(当我关闭“终端别名重置”时) 谢谢 把它放在一个文件中,用参数1作为$1怎么样: # tweet.sh "post my status, moron!": curl -u username:passwo
:~ curl -u username:password -d status="new_status" http://twitter.com/statuses/update.xml
现在,我如何用变量来别名它,这样我就可以很容易地从终端进行twit了?如何使别名在不同会话中工作(当我关闭“终端别名重置”时)
谢谢 把它放在一个文件中,用参数1作为$1怎么样:
# tweet.sh "post my status, moron!":
curl -u username:password -d status="$1" http://twitter.com/statuses/update.xml
这样行吗?把它放在一个文件中,用参数1作为$1:
# tweet.sh "post my status, moron!":
curl -u username:password -d status="$1" http://twitter.com/statuses/update.xml
这行得通吗?您显然有别名命令:将其粘贴到~/.bashrc中,它将在bash shell启动时设置。(.shrc也适用于类似sh的壳。) 如果按照前面的回答将其粘贴到脚本文件中: (a) 添加行
#!/bin/sh
在顶部
(b) 确保它在您的路径上,否则您必须在运行脚本时键入脚本的整个路径
(c) 要使其可执行
chmod +x tweet.sh
很明显,您有alias命令:将它粘贴到~/.bashrc中,它将在bash shell启动时设置。(.shrc也适用于类似sh的壳。) 如果按照前面的回答将其粘贴到脚本文件中: (a) 添加行
#!/bin/sh
在顶部
(b) 确保它在您的路径上,否则您必须在运行脚本时键入脚本的整个路径
(c) 要使其可执行
chmod +x tweet.sh
您需要在主目录中创建一个文件,该文件将在每次打开新终端时被引用 根据您使用的shell类型,对文件的名称进行一些研究(tcsh查找名为.tcshrc的文件,bash查找.bashrc) 获得该文件后,通过运行以下命令使其可执行:
chmod +x name_of_file
然后,在该文件中创建您的别名(同样,您需要根据您使用的shell类型研究如何执行此操作)。对于tcsh,我的别名如下所示:
alias tw 'curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
alias tw='curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
Bash别名使用等号。bash别名看起来更像这样:
alias tw 'curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
alias tw='curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
注意“status=”之后命令中的更改。\^
告诉代码行在别名本身之后插入传递的第一个参数
保存您的文件
然后,您可以通过在新终端中键入以下内容来运行twitter更新:
tw 'my first post to twitter via the terminal, using aliases'
不要忘记用转义字符转义“特殊”字符(如感叹号),
\
(即\!
)您需要在主目录中创建一个文件,每次打开新终端时都会引用该文件
根据您使用的shell类型,对文件的名称进行一些研究(tcsh查找名为.tcshrc的文件,bash查找.bashrc)
获得该文件后,通过运行以下命令使其可执行:
chmod +x name_of_file
然后,在该文件中创建您的别名(同样,您需要根据您使用的shell类型研究如何执行此操作)。对于tcsh,我的别名如下所示:
alias tw 'curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
alias tw='curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
Bash别名使用等号。bash别名看起来更像这样:
alias tw 'curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
alias tw='curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
注意“status=”之后命令中的更改。\^
告诉代码行在别名本身之后插入传递的第一个参数
保存您的文件
然后,您可以通过在新终端中键入以下内容来运行twitter更新:
tw 'my first post to twitter via the terminal, using aliases'
不要忘记用转义字符转义“特殊”字符(如感叹号),
\
(即\!
)twitter不再支持基本身份验证。请使用OAuth。twitter不再支持基本身份验证。请使用OAuth。由于twitter不再支持基本身份验证,您必须使用OAuth来实现您的目标
但若你们只是想使用终端发布到Twitter上,有很多应用程序可以做到这一点。
看看或
使用rainbowstream,以下几行将允许您从控制台发送tweet:
$ sudo pip install rainbowstream
$ rainbowstream
[@yourscreenname]t whatever you want
由于twitter不再支持基本身份验证,因此您必须使用OAuth来实现您的目标 但若你们只是想使用终端发布到Twitter上,有很多应用程序可以做到这一点。 看看或 使用rainbowstream,以下几行将允许您从控制台发送tweet:
$ sudo pip install rainbowstream
$ rainbowstream
[@yourscreenname]t whatever you want
每当我这样做时,我总是得到一个空间,它最终会执行“-d status=“mystatus”。有没有删除$1变量中添加的空间的提示?每当我这样做时,我总是得到一个空间,它最终会执行“-d status=“mystatus”。是否有删除$1变量中添加空格的提示?虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面更改,仅链接的答案可能会无效。谢谢@Hidde。我在我的回答中添加了详细信息。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面更改,仅链接的答案可能会无效。谢谢@Hidde。我在我的回答中添加了一些细节,遗憾的是,这些细节已经不起作用了,而且已经好几年没有了。应该有一种方法将问题标记为不合时宜的。遗憾的是,这种方法已经不起作用了,而且已经有好几年没有了。应该有一种方法将问题标记为不合时宜。