christopherc's review against another edition

Go to review page

4.0

By the time the last edition of O’Reilly’s Classic Shell Scripting was published in 2005, the approach it used was already somewhat out of date and the readership it addressed on the way out. The authors assumed that one is using any one of a number of old commercial versions of Unix, and might just be sharing a system with a number of other users, when nowadays most people doing anything with a Unix-style shell are probably running Linux on their own PCs.

However, don’t let that scare you away, because this book still has the potential to change your computing life forever. The authors’ careful and clear advice on using piped commands to build up scripts allows one to automate a great deal of one’s work away. Operations on text (which is potentially anything in a Unix-style system) that earlier may have taken me hours, now take minutes or seconds, and I’m a lot more confident in the output. Here are some random examples of things I’ve been able to quickly do in the last 24 hours thanks to this book:

* Search/replace a tag among the thousands of MP3 files in my collection in one go;
* Batch resize a collection of several dozen PDFs, producing two different output sizes for each document
* Rebuild a lost address book by extracting all phone numbers sent to me in e-mails and linking them to the names of the senders.

A Bash script, or simply interactively typing a series of commands at the command line, is a great solution for one-off jobs, as with an awareness of just a handful of small utilities you can move mountains, while using a more formal programming language like Python would be more time-consuming.

In its novice-intermediate portions, this book somewhat overlaps with O’Reilly’s Learning the Bash Shell, and in its advanced portions with Effective Awk Programming. Those other two books have the same now-antiquated approach, but all three books are still worth reading for a rigorous course in the Linux command line.

I do wish that O’Reilly would publish a newer edition. Besides writing something that speaks more directly to the needs of shell learners on single-user Linux installations, it would also be necessary to explain the subtle differences between Bash and Dash, as the latter has become the default script-running shell in many Linux distributions.

spav's review against another edition

Go to review page

2.0

Dense but quite good.

bart's review

Go to review page

4.0

Shell scripting skills never go out of style. It's the shell that unlocks the real potential of Unix. Shell scripting is essential for Unix users and system administrators-a way to quickly harness and customize the full power of any Unix system. With shell scripts, you can combine the fundamental Unix text and file processing commands to crunch data and automate repetitive tasks. But beneath this simple promise lies a treacherous ocean of variations in Unix commands and standards. Classic Shell Scripting is written to help you reliably navigate these tricky waters.


Writing shell scripts requires more than just a knowledge of the shell language, it also requires familiarity with the individual Unix programs: why each one is there, how to use them by themselves, and in combination with the other programs. The authors are intimately familiar with the tips and tricks that can be used to create excellent scripts, as well as the traps that can make your best effort a bad shell script. With Classic Shell Scripting you'll avoid hours of wasted effort. You'll learn not only write useful shell scripts, but how to do it properly and portably.


The ability to program and customize the shell quickly, reliably, and portably to get the best out of any individual system is an important skill for anyone operating and maintaining Unix or Linux systems. Classic Shell Scripting gives you everything you need to master these essential skills.

More...