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.

Where can I get free tips about Linux shell script programming?

It's not uncommon for me to receive email from people asking for information that's covered in one or more of my books, and this morning I received a message asking about good places to go online to learn more about shell script programming. My answer, of course, is to buy a copy of my best selling book Wicked Cool Shell Scripts, but if that's not in your budget, there's another possibility to explore.

Dave's Answer: Starting with the August 2004 issue, I am now contributing a monthly column on shell scripting basics to LinuxWorld Magazine called Wicked Cool Linux.

Please take a minute and check out my ever-growing column archive at http://linux.intuitive.com/ and if it looks good, please subscribe to the magazine or at least bookmark the page and come back every month for a new installment of my column.

There are plenty of other online resources too, of course. You need but pop over to Google and search for "unix shell script programming" or "shell scripting tutorial" or "shell scripting guide" (etc etc) to find them.

I'll also recommend another magazine that's now in online form: Unix Review.



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

Can a shell script read and process a file which is continuously being written to (like the --follow option in tail)?

Basically I would like to read a log file and when I find a certain string, generate a firewall entry to block this IP. The script needs to continuously read this file, not a one time shot.

Posted by: Avi at October 13, 2004 9:46 PM

Hmmm.... that's an interesting question. Let's see.... I think I would use some sort of loop where I'd use 'tail -f' on the relevant file, then sleep some period of time, then check the file again for updates. If you keep track of the lines in the file, you could always use that as a change marker (though you'd sometimes be off an iteration because of the file changing between the 'wc' call and the actual test of the returned value).

But it should be quite doable!

Posted by: Dave Taylor at October 15, 2004 12:15 AM

What I did for now, until I think of (or find) a better way:

tail -f /var/log/mail/info writes into a fifo
block_ips reads from the same fifo

Where block_ips is the shell script that processes the log file.

Posted by: Avi at October 15, 2004 9:32 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.









Uniblue: Free Virus Scan

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]