View Review Details


Book:   Classic Shell Scripting
Subject:   USALUG.org Review of "Classic Shell Scripting"
Date:   2006-03-12 00:43:05
From:   Crouse
Rating:  StarStarStarStarStar

USA Linux Users Group Book Review
Original review posted at: http://www.usalug.org/phpBB2/viewtopic.php?p=77554 ()


Reviewer: Crouse


Book Review: Classic Shell Scripting
Authors: Arnold Robbins, Nelson H.F. Beebe
Publisher: O'reilly
First Edition May 2005
ISBN: 0-596-00595-4
560 pages, $34.95 US, $48.95 CA, £24.95 UK


http://www.oreilly.com/catalog/shellsrptg/index.html ()
http://www.oreilly.com/catalog/shellsrptg/errata/shellsrptg.confirmed ()


This book is designed for intermediate to advanced Linux users. The book states in the preface that before reading the book you should know some things about shell scripting already. This book isn't for those new to shell scripting. In my opinion, it kind of picks up where "Learning the Bash Shell" from O'reilly left off. It compliments that book pretty well. Each chapter builds on the concepts and materials covered in the chapter before, so it's a book that is best read front to back and not just used as a reference, you will get more from it that way.


The chapters titles show the progression of the book in what i considered to be a pretty good order. Chapter one and two start off with the basic history, and you quickly move to the next chapters which are the bulk of the book. They are as follows.


Chapter 3 Searching and Substitutions
Chapter 4 Text Processing Tools
Chapter 5 Pipelines can do Amazing Things
Chapter 6 Variables, Making Decisions, and Repeating Actions
Chapter 7 Input and Output, Files, and Command Evaluation
Chapter 8 Production Scripts
Chapter 9 Enough Awk to be Dangerous
Chapter 10 Working with Files
Chapter 11 Extended Example
Chapter 12 Spellchecking
Chapter 13 Processes
Chapter 14 Shell Portability Issues and Extentions
Chapter 15 Secure Shell Scripts


Worthy of noting are the a couple of the appendix titles.


Appendix A. Writing Manual Pages
Appendix B. Files and Filesystems.


Personally, I think these could just have easily been additional chapters in the book. The book makes nice use of examples and generally gives very detailed and descriptive explanations of those examples. The book does indeed build upon previous examples and chapters, making this a very easy to read book. I've found a lot of books simply assume that you have covered topic X somewhere already, and are much more suited for simple reference than they are actually reading. This book is useful as a reference, but it is very suited for reading as well. A lot of the commands that are used have a detailed explanation of them, plus caveats at the bottom, which is something many man pages don't include. I found those interesting as well. They provided insight into why some commands might not work as expected.


The chapters also contained a huge number of (Item / Description) type boxes for almost everything. An example would be for "Print Escape Sequences" from Chapter 7.


------------------------------------------
Sequence.................. Description
\a ............. Alert character, usually the ASCII BEL character.
\b .............. Backspace
\c ............. Suppress any final newline in the output.
........ and on down the list of escape sequences (about 8 more items in the list)
------------------------------------------

I realize that this may sound "trivial", but putting those tables of data actually IN the chapters made it much more enjoyable to read than some other books on the same subject. I was not forever having to flip to the appendix to view the data , that definitely works better "in context" right next to the examples and explanations of the subject matter.


All in all, I'd give this book a 8 out of 10 rating. The only reason I wouldn't give it a 10 is the few errors that have been found in the book. (see above link). I actually noticed a couple myself. Nothing earth shattering, but none the less, for that alone it couldn't earn a 10 out of 10 mark. The book is an excellent companion to "Learning the Bash Shell", and if you liked that book, you'll love this one. Again, this isn't for those new to shell scripting, but is a great intermediate book. This will be a book that will have a permanent home on my bookshelf looking like an old phonebook, tattered and used. Isn't that the best sign of a great book ?


See larger cover