Industry guru Dave Taylor answers free tech support questions about a wide variety of business and technical topics, including blogging, Google AdSense, MySpace, Sony PSP, Apple iPod, Mp3 players, management, Linux, SEO, Mac OS X, Facebook, Twitter, LinkedIn and Microsoft Windows.

Can I send Twitter updates from the command line?

I'm becoming a big Twitter fan, but as a Linux user, I find it darn frustrating that most of the apps out there are for Mac and Windows users. I mean, I'm used to it, but is there at least some way to get to Twitter from the command line?


Dave's Answer:

Actually, there are a number of interesting Linux apps for Twitter, now that you mention it. Check out both the Twitter Fan Wiki and the Twitter download page for some of your options.

Since Twitter has a nice, albeit simple, API, there are also some methods that you can use to access Twitter from the command line, as you seek. Of course, monitoring the twitterstream, public or otherwise, is difficult because the output formats are all a bit tricky to parse, but certainly adding your own Twitter status updates is straightforward.

The trick is to use the terrific utility curl. Let me show you the basic command line invocation:

curl --basic --user "$user:$pass" --data-ascii \
    "status=`echo $@ | tr ' ' '+'`" "http://twitter.com/statuses/update.json"

Obviously, you'll need to set your Twitter username and password in the script (which means that the script won't be secure) which you can do like this:

user="DaveTaylor"
pass="I'm not going to show you here!"

Then the sequence of "$@" is simply the command arguments you've specified to the script. So if it's called "send-twitter" you could send an update on the command line as simply as:

$ send-twitter Watching Shrek, completely unmotivated to go outside today

That should get you going with the scripting. In terms of how to script monitoring the Twitterstream itself, that's a topic I'll be tackling in my Linux Journal shell scripting column in a month or two. Keep an eye out for it at the newsstand!

Finally, please be aware that I have a variety of twitter help here, and you can also monitor my twitterstream if you'd like too! Tip o' the hat to Binny, who originally presented this basic script idea on his blog.



Help others find this article at Del.icio.us, Digg, Netscape, Reddit, and Simpy.

Subscribe!

Never miss another useful Q&A article again! Subscribe to AskDaveTaylor with Google Reader.

Comments

Dave--Thanks for the article and I'm happy that you continue to cover shell script stuff.
Peace,
Chris

Posted by: vergil66 at December 28, 2007 2:54 PM

Hey, thanks for the mention.

Posted by: Binny V A at May 11, 2008 12:35 PM

I have a lot to say, but ...
Starbucks coffee cup I have a lot to say, and questions of my own for that matter, but most of all I'd like to say thank you for all your efforts on this Web site by buying you a chai!

I do have a comment, now that you mention it!









Remember personal info?


Please note that I will never send you any unsolicited commercial email. Ever.

While I'm at it, please note that by submitting a question or comment you're agreeing to my terms of service, which are: you relinquish any subsequent rights of ownership to your material by submitting it on this site.









Search
Find just the answers you seek from among our 1700+ free tech support articles by using our Lijit search engine.


Help!





Subscribe to
Ask Dave Taylor!

Add to Google Reader
Add to My Yahoo!
Subscribe in NewsGator Online

RDF   XML

Free Updates!
Sign up and get free weekly updates and special offers on books, seminars, workshops and more.


Recent Entries
Join the List!
Join my author info mailing list, where you'll learn about my upcoming books, speaking gigs, and more!


Book Links
© 2002 - 2008 by Dave Taylor. All Rights Reserved.

Note: This web site is for the purpose of disseminating information for educational purposes, free of charge, for the benefit of all visitors. We take great care to provide quality information. However, we do not guarantee, and accept no legal liability whatsoever arising from or connected to, the accuracy, reliability, currency or completeness of any material contained on this web site or on any linked site.

[whiteboard marker tray]