Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


Softpanorama Bookshelf:
Best Shell Books Reviews

Maintained by Dr. Nikolai Bezroukov.
Links and bibliographical information
about the books are prepared in
association with Amazon.com

News

Reviews

See also

Best Introductory Books

Intermediate books

Reference

Unix Tools Sysadmin

Solaris

Korn Shell 93

ksh88 and posix shell   Bourne Shell

C/Tcsh

Bash Perl Etc

Unix shells are far from being simple and are very important members of scripting language family. Very underestimated members of the scripting language family I would say. Actually Unix shells Born shell and C-shell can be considered as fathers of a modern scripting languages. Among descendants are ksh93 and  zsh which is some respects (operations with pipes is one example) are more modern and powerful then Perl.

There are very few good shell books. Among introductory I would say that one of the few that is worth the money is Unix Shell Programming, Third Edition by Stephen Kochan, Patrick Wood. This is a really unique, very well thought out presentation of Borne shell.  Another very good book is Learning the Korn Shell (2nd Edition)  Actually I prefer the first edition.  Similar structured book for BASH is Learning the bash Shell . Both should probably be used with Bash Cookbook: Solutions and Examples for bash Users  as while presentation is good, they lack good, practical  examples, the examples which can be found in Bash Cookbook

Many introductory shell books that try cover both ksh and C shell end with covering none well. One exception (for Solaris users only) is probably A Practical Guide to Solaris  which has rather weak coverage of three shells (and that's a rather strange idea to cover all three in the intro book) but as a compensation contains  a good reference that covers grep, sed and awk -- very useful utilities for shell scripting. That is the book that I used in my university courses and currently (with certain reservations, see review below) I would  recommend it as a first book,  especially for a university course based on Open Solaris.

For an intermediate book I recommend to buy a book that specifically covers shell that you is/will be using be it bash, ksh93 or whatever. If you are using Solaris then on the intermediate and advance levels I would recommend you to pay a special attention to ksh93 -- one of the most modern (and now free) Unix shells. ksh93 is more powerful that ksh88(or POSIX shell) and is better programming shell then bash (bash is better interactive shell, though). Unfortunately only very few published books cover the most interesting features that are present in ksh93 (especially co-routines and co-processors). In this respect nothing can replace the author view on the language as in The New Kornshell : Command and Programming Language.

That's does not mean that you should start learning shell with this book, though ;-). I think Learning the Korn Shell (1nd Edition) is a better intermediate book, probably the best for those who already have some exposure to Unix (the second edition is OK too, but I like the first edition better). BTW ksh93 source code was released on March 1, 2000. For more details see the comp.os.unix.shell FAQ posting on shell comparisons. Bash 2.0 is weaker that ksh93 as a scripting language but is better interactive shell. Bash 3.0 has a built-in debugger which is a nice thing and an improvement in a right direction, but right now it's too early to judge how good it is.

Please note that Learning the Korn Shell is a higher level book than A Practical Guide to Solaris  and is not suitable for those that has no exposure to Unix and take Intro to shell programming as the first Unix course. But of course if you want to learn shell programming, not just writing a dozen of line scripts it's a much better book.

Dr. Nikolai Bezroukov



 

Reviews

Classic Shell Scripting

 

Old News ;-)

***** Bash Cookbook: Solutions and Examples for bash Users

Good book that covers bash 3.2.
5.0 out of 5 stars Solutions to problems for bash users of all skill levels, June 25, 2007
By calvinnme "Texan refugee" (Fredericksburg, Va) - See all my reviews
 

This book covers the GNU Bourne Again Shell, which is a member of the Bourne family of shells that includes the original Bourne shell sh, the Korn shell ksh, and the Public Domain Korn Shell pdksh. This book is for anyone who uses a Unix or Linux system, as well as system administrators who may use several systems on any given day. Thus, there are solutions and useful sections for all levels of users including newcomers. This book is full of recipes for creating scripts and interacting with the shell that will allow you to greatly increase your productivity.

Learning the bash Shell

This is slightly obsolete book contains reasonably good description of the shell as a language. Examples are the weak part and you probably need a Bash Cookbook in addition to that book.
4.0 out of 5 stars Good chapter on debugging., November 16, 2006
By Computer_Geek - See all my reviews
Good chapter on debugging. Good overview of the Bash shell, but I wish it had more examples. For a book with lots of examples, you might want to consider "Bash Shell: Essential Programs for Your Survival at Work" by Larry L. Smith.

Classic Shell Scripting

by Arnold Robbins, Nelson H.F. Beebe

This might be a great second book on shell scripting. Can serve as a valuable add on to "Learning Korn shell" from O'Reilly -- also a very strong book on shell scripting.
The authors provide a lot of interesting and useful information that is difficult to find in other books. They devoted Ch 5 to piping and in  5.4 "Word List"  they discuss famous Doug McIlroy alternative solution to Donald Knuth program of creating the list of the n most-frequent words, with counts of their frequency of occurrence, sorted by descending count from an arbitrary text file. 
The authors discuss many Unix tools that are used with shell (Unix toolbox). They provide a very good (but too brief) discussion of grep and find. Discussion of xargs (which is usually a sign on a good book on scripting) includes /dev/null trick, but unfortunately they do not mention an  option -0n with which this trick  makes the most sense.
One of the best chapters of the book is Ch. 13 devoted to process control.  Also good is Chapter 11 that provides a solution to pretty complex and practically important for many system administrators task of merging passwd files in Unix. It provides a perfect insight into solving real sysadmins problems using AWK and shell.
Shortcomings are few. in "5.2. Structured Data for the Web" the authors should probably list AWK instead of SED.  Also XML processing generally requires using a lexical analyzer, not regular expressions. Therefore a tag list example would be better converted to something simpler, for example generating C-tags for vi.

Linux and Unix Shell Programming

by David Tansley

Looks very promising. Very well thought out organization which is evident event from the table of content: better that in any other book that I know. As the first edition there are too many errors but for a professional reader that does not matter much, which matter are concepts and due to this this book is uniquely useful. 

Unfortunately not all errors are just typos, some errors are conceptual, for example when discussing XRAG the author fails to mention the option 0n that prevents overflowing of the argument list (in this case commands are executed one by one).

Publisher URL: http://www.awl.com/cseng/

See also LJ 74 Book Review

 

this book has many examples other don't have!, October 22, 2000
Reviewer: A reader
1. This book contains many errors like other readers have pointed out, but its shell programming examples really help me. Those examples I can't find from other books.

2. This book will not help you too much in unix concepts, and thus you may have to buy another good unix concepts book to solve those problems.

3. overall, as long as you have enough time to play those examples in your unix machine and want to write a 30 pages of codes like those in chapter 21 and 22, this is definitely the one you want and bring you to another level!

4. personally, I buy two different books to study a computer skill. One is the text book by college professor who may insure the concepts are correct, the other is the book having enterprise examples. But it is so hard for one to find the one having both. This book partially fit my second need!

Tansley's Linux book is an Amazing Friend to keep nearby, March 28, 2000
 

Reviewer: John (GodLovesEveryone.org) (Northwest Arkansas) - See all my reviews

A friend of mine raves about "Linux & Unix Shell Programming" by David Tansley, and I certainly have to agree with him.

In my case, I had to add Linux to my Windows 98 computer so that I could better talk to and understand programmers who enter the programming contest at <www.MSOworld.com/programming.html>. This book would almost be my "Best Friend" if such a thing were possible, because it lets me look up the DOS terms I memorized years ago and see the equivalent Linux terms and syntax. (I'm in love with that feature, by the way).

"Linux & Unix Shell Programming" even has material that will help you learn the same CGI that is found on many web pages, and, thank goodness, the wild cards I fell in love with in DOS are there.

As you can see from the table of contents, below, it covers quite alot of ground, from "Introduction to Linux/Unix in general" to "Building CGI scripts for a web site."

Cool, eh?

Definitely buy it if you're looking to understand Linux, and especially if you're an old DOS user from the early computer age.

The Table of Contents is below. I hope you fall in love with it.

John Knoderer
mazes@msoworld.com
webmaster@mazes.com
 

Best Shell Programming Book I've Found Yet!, July 6, 2004
 

Reviewer: Gregory D. Donovan (Golden, CO) - See all my reviews

I own no less than ten books on shell programming and this one has helped me more than the rest combined.

The author has the talent for condescending to my level to explain concepts that I have had a great deal of trouble understanding.

I was able to write a menu driven script to simplify the loading and unloading of a tape library after reading just two chapters from the middle of the book.

I even created my first shell function in the process. Yes there are a few typos. I'm not sure why some of the more sophisticated reviewers had a problem with this.

I still found the book very useful and was able to catch the intended meaning in spite of the typos. If you are a genius this book may not be for you. If you are trying to learn how to write scripts quickly I highly recommend it.

I would have traded all my other scripting books for this one had I known how useful it is.       

 

Reviewer: Victor Kamat (Modesto, CA United States) - See all my reviews

Reviewer: A reader from Modesto, CA United States
This is a marvellous book on Unix/Linux shell programming. D. Tansley knows unix/linux very well, and is a very good teacher too. (In my opinion if you study this book and "The Korn Shell" by Olczak you'll become very good at Unix and Shell scripting.)

He has obviously thought a great deal about the organization of the book; in my opinion he has done it very well.

About 1/2 the book is devoted to grep, find. awk, cron, file permissions, quoting, the login environment, etc. His explanations are the best I have read, and all this is enhanced by his organization of the material and his examples.

He then gets into shell scripts, things like conditional testing, control flow structures, functions, and then more advanced material. And once again he does a very nice job.

The more I read this book and use it in my daily work, the more impressed I am with it. If you are a unix/linux user do yourself a favor and get this book.

One reviewer has given this book a scathing review; in my opinion this reviewer is totally off-the-wall. It may be that he has a problem with the english language (he's from Swizterland). Set aside his remarks.

***** Unix Shell Programming, Third Edition

by Stephen Kochan, Patrick Wood

**+ Linux Shell Scripting with Bash

by Ken O Burtch

Price: $24.49

This is an average or below average book on bash. But like in many books of Linux wanna-bees errors are rampant and understanding of shell is lacking.  Here is one glaring example of both author oversight and editor neglect ( page 22):
 "The tilde (~) represents you current directory.
.... Although  .. and .. work with all Linux programs, ~ and - are features of Bash and only work with Bash and Bash scripts.
I wonder since when "The tilde (~) represents you current directory". And since when "~ and - are features of Bash and only work with Bash and Bash scripts. "
4 out of 5 stars Well-motivated guide to use of Bash for scripting, February 20, 2004
 
  Reviewer: cbbrowne (see more about me) from Scarborough, Ontario, Canada

This is pretty comprehensive book that guides the reader on how to use Bash for a wide variety of purposes.

It is very well-motivated; each chapter introduces the area it examines with an interesting anecdote, and presents a reasonably rich set of examples of how to use Bash along with other Unix tools to solve the problem at hand.

It is not solely about Bash; it shows the use of process control tools like ps, kill, and such, text manipulation tools like grep, sort, cut, sed, and such, and version control using CVS. This is all well and proper: One of the major uses of shell scripting is to paste together other programs, and these examples support that.

Well done...

***  Books Mastering UNIX Shell Scripting

Randal K. Michael (Author)
 
2 out of 5 stars Good for advance user not for beginners, July 23, 2003
 
  Reviewer: the_haawk (see more about me) from Irving, TX United States

This is not a greatest book for learning Shell Scripting. This book does not cover regular expressions in detail even though regular expression is the heart to learning shell scripting.

It could be a good book for users already familiar with Shell scripting and want to learn advance techniques in administering their application or the UNIX system.

I will definitely not recommend this for users that are looking to learn and understand Shell scripting.

 

***+ Learning the Korn Shell (2nd Edition)

Bill Rosenblatt, Arnold Robbins
ISBN: 0596001959
Amazon Price: $24.47
Paperback - 400 pages 2nd edition (March 2002)
O'Reilly & Associates; ISBN: 0596001959

Paradoxically it is weaker then the first edition. I think this is due to the fact that Arnold Robbins is a co-author who inherited the book after the initial authors left the field/lost interest and despite his best efforts this edition was unable to undate this edition to the level that preserved its integrity and corresponds to the current shell development level. the book looks like a mix of old and new material.  
 
4 out of 5 stars Great book, but has some flaws, August 13, 1999
 
  Reviewer: unixnut (see more about me) from Overland Park, KS

I have owned this book since 1996 and I used it as my introduction to Korn shell programming. To the credit of the book, I was able to become very adept at Korn shell and I have written some amazing scripts. However, I must admit that some sections of this book are misleading, confusing and downright incomprehensible. It took many re-readings of some chapters before the author's lesson was brought to light. I would recommend this book as a Korn shell reference, but it is probably not the best place to start for a Korn shell beginner. I am finding this to be true for a lot of the books by O'Reilly & Associates.

5 out of 5 stars A great book about Korn shell programming, December 3, 2001

  Reviewer: bon_jour (see more about me) from Dallas, TX

I gave it 5 stars partially because it was given just 1 star unjustly by a few reviewers. From a number of complaining reviews, one realizes that the book title is little misleading. It's not a book for a true beginner wanting to read about "simple" examples of shell programs and looking for detailed explanations line by line. This book is concise, to the point, and really explains "Korn" shell's features. Even as early as chapter 4 about Korn shell basics, things are explained that a long-time shell programmers may not know. If you do and have done serious, real world Korn shell programming, you'll appreciate it.

There were also complains about hard to find things in the book. But from my experience, it's not the case if one really reads it from cover to cover and understands the topics presented chapter by chapter. I agree that the book may not be a great reference book, but it was not written as one.

An excellent book for the beginner - advanced ksh programmer, March 29, 2001


Top 1000 Reviewer Reviewer: fishgeeks_dot_com (see more about me) from FishGeeks.com

This is a great book for someone new to ksh programmer. It should be treated as a work manual and not as a reference book. Read this book through from cover to cover and you'll soon be writing ksh scripts with ease.

The book takes you though Korn shell basics from answer what a shell is to using files, I/O, and character quoting.

From there it goes into command line editing, customizing your environment, and into basic programming. Once through that you learn flow control, arrays, advanced I/O, and process handling.

Finally you learn how to debug the script you just wrote.

As a reference manual this book is average. It's not meant to be a typical "nutshell" book and shouldn't be treated as one.

The bottom line? Buy this book if you are truly interested in learning how to program in the Korn shell

 

**** Korn Shell, The: Linux and Unix Shell Programming Manual
by Anatole Olczak. Paperback

Our Price: $44.95
Paperback - 464 pages 3rd Bk&cdr edition (January 5, 2001)
Addison Wesley Professional; ISBN: 0201675234 ; Dimensions (in inches): 1.06 x 9.21 x 7.42


*** Unix Shell Programming Tools (Unix Tools)

David Medinets / Paperback / Published 1999
Amazon price: $31.99 ~ You Save: $8.00 (20%)
Paperback - 568 pages Bk&Cd Rom edition (February 1999)
McGraw-Hill; ISBN: 0079137903 ; Dimensions (in inches): 1.48 x 8.93 x 5.98
Amazon.com Sales Rank: 7,949
Amazon.com Unix Shell Programming Tools (Unix Tools)

Good thing is that TCL is covered. But that's it. Generally the book is very unimpressive book. I would call it pretty raw book. Value and audience are not clear. I saw that it was used for university courses, but I would advice against that. Probably in this role Linux Programming is a better deal.
Table of contents.

From amazon.com review written by Ryan Kuykendall:
David Medinets's Unix Shell Programming Tools surveys the commands and code elements of the three scripting languages that are most commonly used in Unix: the Bash shell, Perl, and the Tool Command Language (Tcl). The book catalogs each of the different languages and uses short, descriptive code samples to demonstrate standard usage for most of the items discussed.

Medinets dedicates nearly half of the book to an ample discussion of the Bash shell and creates special chapters focused on the constituent elements of shell programming, including the creation of variables and procedures. While discussions on Perl and Tcl are separated into distinct chapters, each has fewer code samples to illustrate variations on code writing and usage. Instead, the author supplements the discussions on Perl and Tcl with dictionary-entry-style charts describing each language component by component.


Introductory

See also ksh93 books and Unix books. IMHO A Practical Guide to Solaris can be used for shell introductory course too, because in such a course utilities are as important as shell itself (although I still prefer ksh93, on the introductory level there is no much difference between, ksh88, bash and ksh93, but you better stay with classic ;-)

*** A Practical Guide to Linux(R) Commands, Editors, and Shell Programming

by Mark G. Sobell

With the price below $20 for used book it is a good value to 1K pages.

***** Unix Shell Programming, Third Edition

by Stephen Kochan, Patrick Wood

 
There were also complains about hard to find things in the book. But from my experience, it's not the case if one really reads it from cover to cover and understands the topics presented chapter by chapter. I agree that the book may not be a great reference book, but it was not written as one.

4 of 5 stars Excellent beginner book, July 24, 2001
Reviewer: James Russell (see more about me)

If you are new to the Korn Shell then this is a great buy. Start here to learn Flow Control, Regular Expressions, I/O and command-line processing, background job referencing, and debugging. This text also covers basic emacs and Vi operations as well as ways to customize your environment in UNIX.

I picked this book up as a supplement to learning UNIX. The index proved helpful when I was learning a new command or searching for a solution to my problem. I like the book because it is easier to use than trying to scour the web for solutions. This book will at least narrow the task and help you know what to look for on the web.
 

????? Learning the Korn Shell (2nd Edition)

Bill Rosenblatt, Arnold Robbins
ISBN: 0596001959
Our Price: $24.47
Paperback - 400 pages 2nd edition (March 2002)
O'Reilly & Associates; ISBN: 0596001959
 
Judging from the quality of the first edition (1993) I expect this to be a great book. The first edition became a little bit outdated and is limited to ksh88...
 

***+ Unix Shells by Example

by Ellie Quigley
Our Price: $39.99
Paperback - 654 pages 2 edition (July 12, 1999)
Prentice Hall; ISBN: 0130212229 ; Dimensions (in inches): 1.80 x 9.25 x 7.03
Amazon.com Sales Rank: 11,184
Avg. Customer Rating:
Number of Reviews: 17
Table of contents
Softpanorama review
This book covers ksh93  and three other shells (Born shell and C shell) which is an overkill for an intro book.  There are a lot of examples but most of them are low level "oversimplified blackboard examples".  You should consider this book as a collection of unrelated chapters that can be used in any order or omitted completely. The author is definitely not a specialist in Unix, but a college teacher who polished his course from semester to semester without removing principal weaknesses.  The only good thing about the book is that it tries to provide some information on most important utilities in addition to shells. Chapters on awk (Chapter 5-7, 120 pages) and sed (Chapter 4, 30 pages) are strong features of the book. There is also a chapter on grep (Chapter 3). Supplement A that covers Unix utilities useful for shell programming should probably be upgraded to a chapter. the book contains hands-on exercises for every topic, an appendix with detailed syntax listings, examples of many useful UNIX utilities, comparison charts, and much more. Again I would like to reiterate that the main strength of this book is that in addition to shell it contains separate chapters on grep, sed and awk.

But even with some additions and modifications  I would recommend Sobel's book as an add-on to this book. Explanation of various features of the shells in is decent, but order of chapters is somewhat strange and most examples are weak and artificial.

There is also a weaker Linux editon that discuss bash instead of Ksh93.

The book covers too many shells. Despite apologies of the author each redundant chapter adds to the brick size of the book and adds to the cost of the book as well. 


The author also published :
The Complete Perl Training Course
Ellie Quigley / CD-ROM / Published 1998 /$99.95
Perl by Example
Ellie Quigley / Paperback / Published 1997 / $31.96
Here are selected Amazon reviews:

*** Need Go Beyond by Example", August 3, 1997
Reviewer: A reader

I am a "not-so-proud" owner of "Shell By Example" and "Perl by Example" - let me tell you why. First, the "Perl" book is boring and unfocused. The "Shell" book is even worse, it has several typos and the book is inflated to 600+ pages - the author uses the same data file in every example and prints it out in every example every time (There are a lot of examples, as indicated by the book title)! Second, it (the "Shell" book) does not provide some useful, interesting, long examples, most of the examples (scripts) are "baby talk" types - you are more likely to read them and forget them later. There is no problem-solving section. There is no reader involvement. In addition, the paper used in manufacturing of this book is so heavy, it makes this book look like a 1000+ page book. I bought these books at the same time in a "normal" bookstore - which means I did not take advantage of 20 % discount from AMAZON.COM and paying high California Sale Tax.

One of those "must have" books, June 25, 1999
Reviewer: rjw@pcs-sd.com from South Dakota, USA

It is unfortunate that the many typos made it into the final product. That aside, I recommend this book to anybody who wants to know more about shell programming in general. Although I still have many separate books on awk, sed, sh, csh, etc. this is the book I started learning Unix on, and this is the book I still keep on the shelf, or use when I am preparing my own classes on shells. The layout and content of this book has made me search for and buy other Quigley titles simply on the strengh of the author's name.

Learning by example, November 17, 2000
Reviewer: willem leenen (see more about me) from Amsterdam

The 'Unix Shells By Example' is a well-known book in the field of shell scripting. It has about 640 pages with a CD-ROM included. The book is well edited, with good white-spacing and clarity in layout. Having taught the unix shells for over 15 years, the author really knows her stuff, and the text is factual and to the point. The index seems complete and one doesn't have a difficulty in finding the right info one is looking for. These properties should be normal for books, but computer books seem often an exception.

The chapters deal about the central Unix-commands for scripting (Grep, AWK, SED) and the big three shells (korn, bourne and C-shell). The author explains the subject in great detail by showing example scripts. First you're given the data or text to be edited, then the script or command lines and finally a lengthy line-by-line explanation of the script syntax. The subjects of the scripts range from explaining the basic Unix-commands to complex intertwining regular expressions, functions, obscure nawk options etc. The author also touches the subject of shell-history, making comparisons of the three shells, giving 'lab-exercises' and some Unix background about command types, login and inheritance. The apparent subject that is missing in this book is the Bash shell, the preferred shell in the Linux community. However, a separate book on this subject is available (Linux Shells By Example). As with all books that have an extensive coverage of the subject, this book too can be overwhelming for the absolute beginners in shell scripting. It takes some time before one writes syntax like:

nawk -F: 'BEGIN{printf("What vendor to check?");\

getline ven <"/dev/tty"};$1 ~ ven\

{print"Found" ven "on record no" NR}' vendor

Instead of searching the pages for the basics, beginners should consider buying an entry level book.

Conclusion: For the intermediate scripter who visits shell sites like shelldorado and lurks newsgroups in search of advanced programming constructs to steal this book is a great find. You won't be left with a feeling that you'll outgrow this book. For newcomers in scripting this should however not be the first book to buy, they're better of with titles like "learning shell scripting in 24 hours". But once through these 24 hours, this book can only be warmly recommended.

 

*** Linux Shells by Example (with CD-ROM)

by Ellie Quigley
Amazon price: $40.49
CD-ROM - 761 pages 1st edition (June 15, 2000)
Prentice Hall; ISBN: 0130147117 ; Dimensions (in inches): 2.10 x 9.20 x 7.03
Amazon.com Sales Rank: 8,266
Avg. Customer Review: 4 out of 5 stars
Number of Reviews: 1

Table of contents

This is a weaker version of the Unix shell by examples book. See my review above. For Linux book it's a rather expensive book but still it has more than 100 additional pages in comparison with Unix edition for the same price ;-).

 
This book unfortunately covers bash instead of ksh93 which is probably OK for novice Linux users, but still not a wise choice for a decent university course. Originals are much better then copies and ksh93 is so much superior free shell even on Linux than you should not even think about teaching bash in a decent university ;-).
 
The decision to cover several shells in one book raise doubts about the wisdom of the author, but book is still decent ;-). Again you probably should think about it as a weak system administration book and in this respect Sobel's books are much better deal.  If you replace bash chapter with a decent ksh93 tutorial that book can be used for Solaris8 too as Solaris8  includes GNU utilities.
 
The main problem with this book is that there is not much Unix and too much shell junk in it. Very weak artificial examples.  I do not see real understanding of Unix by the author and the shall usage in real Unix environment. Instead of massaging three almost identical shells a decent book should probably cover Perl and Expect. So this book is good neither for beginners nor for intermediate/advanced users ;-). May be awk chapter can be omitted if Perl is used and such a decision can cut the weight of the book too. You can buy an older book Unix Shells by Example (654 pages 2 edition, July 12, 1999; Prentice Hall; ISBN: 0130212229) that covers ksh.  See reviews of the older book.

*** UNIX Shell Programmer's Interactive Workbook

by Christopher Vickery, Chris Vickery
Amazon price: $27.99
Textbook Binding - 496 pages 1 edition (December 22, 1998) Prentice Hall; ISBN: 0130200646 ; Dimensions (in inches): 1.75 x 9.23 x 7.01
Amazon.com Sales Rank: 36,910
Avg. Customer Review: 5 out of 5 stars
Number of Reviews: 1
 

This book contains a lot of exercises but the author seems to be not seeing the forest after the tries and is unable to distinguish between important features/topics and obscure one. CD contains full CBT training course that costs much more than the book if you want to buy it separately.


***+ Sams Teach Yourself Shell Programming in 24 Hours (Sams Teach Yourself in 24 Hours Series)

Sriranga Veeraraghavan / Paperback, 474 pages / Published 1999, Sams; ISBN: 0672314819
Amazon price: $15.99
Amazon.com Sales Rank: 28,267
Avg. Customer Review: *****
Number of Reviews: 3

Decent price and pretty useful content but wrong shell ;-). This is definitely not The New Kornshell : Command and Programming Language, but the book has a very positive reviews from Amazon readers.
 
For example:
5 out of 5 stars A solid introduction into shell scripting , March 3, 2000
Reviewer: A reader from New York

This book provides a very good foundation so that one may learn Unix shell scripting. It also allows one to understand the more advanced books, which is very important. I thought there were some sections of the book that were a bit sketchy in their explanation. For example, the no-op operator (:) was not explained to my liking (although a fairly good attempt was made). Overall, however, the beginner to Unix will learn much from this book.
 

5 out of 5 stars Best shell scripting guide since Kochan , September 16, 1999
Reviewer: A reader from Cary, NC

Glad to see the other good reviews. I was impressed and wanted to see what others had to say.

This is the way it should be done. Definitely appreciated the emphasis on the bash shell and the inclusion of other useful tools. Pleasantly surprised by the depth and quality of the examples...this is one of the best book in SAMS catalog. Author also had a chapter or two in Kao's Special Edition Using Unix, which was a solid book even though it is a major doorstop in size. Looking forward to more titles from Veeraraghavan.

It looks like the quality of non-O'Reilly titles may be improving after all...  


Intermediate Books

**** Learning the Korn Shell (A Nutshell Handbook)

Bill Rosenblatt / Paperback / Published 1993
Paperback - 363 pages (June 1993)
O'Reilly & Associates; ISBN: 1565920546
Table of contents
Softpanorama Review  

A  nice introductory but closer to an intermeduate book. Contents is slightly outdated and covers only ksh88. Still the first edition is somewhat better then the second that was upgraded by a different author.  The key factor for this book is the right definition of intended audience: it is really the best introductory book for students at the university level and professionals. Reader needs to know some Unix (and the reader is expected to know classic Unix utilities) or  programming experience.

Actually it is one of the few shell books that provides a good coverage of usage of pipes in shell scripting, the quintessential feature of the Unix shell. This is the strongest feature of the book. At the same time the books also contains a lot of subtle but important information for example it explains why an alias ll='ls -la  ' (with trailing space) is more useful then without trailing space.  It also covers "IFS" variable, shell functions. In several chapter the authors develop the example of a simple, yes (marginally) useful tool: an analog of C-shell popd/pushd/dirs troika for the ksh. the last chapters contains an example of a really complex (shell debugger) script.

Paradoxically the first edition is considered to be weak by some Amazon.com readers: IMHO this is a nice demonstration of an "Amazon lemmings effect". May be the reason is that the book is too complex to be the first book for learning shell, if you are complete novice (often shell course introduces people to Unix at universities). In such cases  A Practical Guide to Solaris might be a better bet, but still I recommend to buy this book as a second book -- it contains a lot of important information that helps better understand shell and write better shell scripts.  The second edition should be available in April 2002, and with 9 years and 40 pages we can expect a lot of improvements ;-)

Shortcomings of the book include very superficial treatment of .profile and .kshrc files. Some examples also can be made batter (I think that pushd/popd example that authors use can be replaced by something more useful) but that can be said almost about any book.  Neither sed not awk is covered (O'Reilly has a separate book on this subject). At the same time the fact that book does not use awk cripple some examples as it solves several shell problems more elegantly than other built-in UNIX commands.

5 of 5 stars A great book about Korn shell programming, December 3, 2001
Reviewer: A reader from Dallas, TX

I gave it 5 stars partially because it was given just 1 star unjustly by a few reviewers. From a number of complaining reviews, one realizes that the book title is little misleading. It's not a book for a true beginner wanting to read about "simple" examples of shell programs and looking for detailed explanations line by line. This book is concise, to the point, and really explains "Korn" shell's features. Even as early as chapter 4 about Korn shell basics, things are explained that a long-time shell programmers may not know. If you do and have done serious, real world Korn shell programming, you'll appreciate it.
 

*** Learning the Korn Shell (2nd Edition)

Bill Rosenblatt, Arnold Robbins
ISBN: 0596001959
Our Price: $24.47
Paperback - 400 pages 2nd edition (March 2002)
O'Reilly & Associates; ISBN: 0596001959

My Review

IMHO this is one of the best ksh93 intermediate books, that can also serve as the first book on shell programming for people with some exposure to Unix or programming. It concentrates more on the language than on typical examples of shell scripting. See reviews in a Introductory Shell Programming section). It contains the code for a Korn shell debugger: a non-trivial exercise...

 
 

***  Books Mastering UNIX Shell Scripting

 
Randal K. Michael (Author)
 
2 out of 5 stars Good for advance user not for beginners, July 23, 2003
 
  Reviewer: the_haawk (see more about me) from Irving, TX United States

This is not a greatest book for learning Shell Scripting. This book does not cover regular expressions in detail even though regular expression is the heart to learning shell scripting.

It could be a good book for users already familiar with Shell scripting and want to learn advance techniques in administering their application or the UNIX system.

I will definitely not recommend this for users that are looking to learn and understand Shell scripting.

 

***+ Hands-On KornShell 93 Programming  -- no e-text

Barry Rosenberg / Paperback / Published 1998
Amazon price: $44.95
Paperback - 444 pages Bk&Cd Rom edition (October 1998)
Addison-Wesley Pub Co; ISBN: 020131018X ; Dimensions (in inches): 0.86 x 9.13 x 7.28
Table of contents
My Review
Good ksh93 programming book that can be a nice complement to Learning Korn shell. Not exactly an intro and does not go into details that Learning Korn shell goes in some areas. At the same time it discusses some features like discipline functions that are usually omitted in other intro/intermediate books including Learning Korn Shell.
 
The main problem with the book is that it does not discuss utilities that are usually used in shell programming and features of the interactive shell. Also the book is too short for the subject area that needs to be covered (the first 16 chapters are only 335 pages, chapter 17 is irrelevant to the topic). Some important areas are covered very superficially (.profile .kshrc). Space was also wasted on demonstrating how shell can be used for writing CGI scripts -- generally it should not -- that's too much a security risk ;-). The author stated his "by example" approach and I think that he is right, but he need to follow this approach more thoroughly. Here is a relevant quote:
 

When I read programming manuals, I usually skip over the text and head straight for the examples. I like short, focused examples that don't bog me down in a lot of programming red-herrings. And when I am forced to read text, I like a little humor.

So, I wrote the kind of book that I like to read.

Here are some Amazon readers reviews:

5 out of 5 stars Impressed a tough critic! June 13, 1999

Reviewer: A customer from New Jersey

The KornShell Programming Tutorial should be the model for all technical books. It is well organized and extremely well written. The book provides a ton of examples, and output is provided for each one--what a concept! Reading this book has enabled me to write support and debugging scripts for the program I currently work on, and if I need to refer to the book, I can find the topic quickly. The writing style is crystal-clear and right-to-the-point, and the humorous touches round out everything nicely. Thanks to Barry Rosenberg for caring enough to write a book on Korn Shell programming that a novice could actually read, understand, and apply.


3 out of 5 stars This book is better than most...BUT.... (rating=3.5)

Reviewer: kim_carlton@hotmail.com from Richmond, VA      December 31, 1998
Briefly: If you are an experienced programmer, know KSH 88 and want to learn KSH 93 - BUY THIS BOOK. Good things: Extensive coverage of KSH 93 with all the new features. Additionally, techniques are employed that are very educational. Bad things: Very sloppy editing. To wit:

All in all - I give it 3.5 stars. 4 stars with correct editing and proofing. 4.5 stars if co-processes were covered extensively. 5 stars if he gets rid of the jokes --- (ok, I'm kidding there).
 

A reader from an Oracle/Solaris Shop in St. Louis, Missouri , January 21, 1999 *****
A must have for Korn shell programmers who like example code
This is an excellent book chock-full of example code that is presented in a logical and practical manner. The only down side (not the author's fault) is the availability of ksh93 on some Unix platforms (e.g. Solaris 2.5/2.6 uses the older ksh88 version). Regardless, there are still good examples for ksh88 programmers. Oh, I can't rate the enclosed CD-ROM as I have not used it yet. If the CD is any good it will be icing on the cake.

gtillery@mindspring.com from Birmingham, Alabama , January 10, 1999 *****
Another #1 'Must Have' Book For Any Serious SysAdmin
Barry Rosenberg has done it again. This time with more flair and vision for what Kornshell can do! I purchased his original book on Kornshell and practically wore the cover off of it. He has taken a great book and made it even better! I will recommended this one to everyone I can talk to as well. Looks like this new edition will replace his other book on my bookshelf. Simply Outstanding!

**** Unix Shell Programming (Hayden Books Unix System Library)

by Stephen G. Kochan, Patrick H. Wood
Very good book. See reviews in a Bourne Shell and Portable Shell Programming section)

Korn Shell 93

See also Hands-On KornShell 93 Programming  by Barry Rosenberg (Addison-Wesley Pub, 400 pages, 1998, ISBN: 020131018X )
 

**** The New Kornshell : Command and Programming Language

Morris I. Bolsky, David Korn / Paperback / Published 1995
Textbook Binding - 416 pages 2 edition (March 27, 1995)
Prentice Hall; ISBN: 0131827006
This is the most authoritative book on ksh93. More of a reference than textbook.  Should not be your first or only book on shell programming. Here is one review from Amazon:
 

There is no one better than Mr. Korn himself to offer the clearest, most complete information about KornShell. The usefulness of this book as a language reference is indisputable. Although not immediately comprehensible by the novice, it is, nevertheless, essential to all KornShell programmers. The back cover index is one of the nicest features of the book. I only wish more books would use this design. Every new technology should have major technical reference material written by its inventor or creator available to the general public. In the UNIX world, such works are common. I enthusiastically recommend this book for all KornShell programmers. For those that find it difficult initially, I assure you that you will grow into it, and it will eventually find its place close at hand in your office library.

Desktop KornShell Graphical Programming by J. Stephen Pendergrast, Jr.

Addison-Wesley, 1995. Covers ksh93, the authoritative reference on dtksh.


ksh88 and posix shell

**** Learning the Korn Shell (A Nutshell Handbook)

Bill Rosenblatt / Paperback / Published 1993
Paperback - 363 pages (June 1993)
O'Reilly & Associates; ISBN: 1565920546
A very nice introductory book, but it covers only ksh88. Probably the best introductory book for ksh88 on the market. Paradoxically it's considered to be weak by some Amazon.com readers; IMHO that's not true and this is just an "Amazon lemmings effect".
        Here is Table of contents
 

**** Unix Shell Programmer's Interactive Workbook (Unix Interactive Workbook Series)

Christopher Vickery, Chris Vickery / Paperback / Published 1998
Amazon Price: $27.99 ~ You Save: $7.00 (20%)

Korn Shell Reference

Arnold Robbins / Paperback / Published 1995

Teach Yourself the Korn Shell in 14 Days with Disk

Kamran Husain / Published 1995


***+ Unix Shell Programming

Arthur, Lowel Jay. Burns Ted / Paperback, 4th edition / Wiley, 1994/
 
This is a good book, but only ksh88 is covered.  One can see that authors are personalities not  hired staff who can spit 1200 page book for any fashionable topic. I read the third edition (1994). Slightly outdated  and does not mention ksh93. Covers SH, KSH and CSH. Wiley site contains several fragments on the book including:

Unix Applications Programming : Mastering the Shell

Ray Swartz / Published 1990

Expert Korn Shell Programming (In Just 3 Days)

William N Franklin / Unknown Binding / Published 1997

?? Unix Shell Objects

Christopher A. Jones / Paperback / Published 1998
Amazon price: $33.99 ~ You Save: $6.00 (15%)
Paperback - 448 pages Bk&Cd Rom edition (September 1998)
IDG Books Worldwide; ISBN: 0764570048 ; Dimensions (in inches): 1.29 x 9.02 x 7.04

Pdksh-based.
The author, Christopher A. Jones (chris@perpendicularuniverse.com) , August 24, 1998
Object-Oriented Programming
UNIX Shell Objects is a book about Object-Oriented programming. This book describes techniques for crafting reusable interfaces, taking advantage of polymorphism, and using inheritance in ways that simplify your programming instead of complicating it. This book guides you step by step through the nature of using Object-Orientation effectively via the Korn shell. After developing useful system objects, the book moves on to tackling network topology through the use of an Object Request Broker for... read more

Reference

**** The New Kornshell : Command and Programming Language

Morris I. Bolsky, David Korn / Paperback / Published 1995
Textbook Binding - 416 pages 2 edition (March 27, 1995)
Prentice Hall; ISBN: 0131827006
This is the most authoritative book on ksh93. More of a reference than textbook.  Should not be your first or only book on shell programming. Here is one review from Amazon:
 

There is no one better than Mr. Korn himself to offer the clearest, most complete information about KornShell. The usefulness of this book as a language reference is indisputable. Although not immediately comprehensible by the novice, it is, nevertheless, essential to all KornShell programmers. The back cover index is one of the nicest features of the book. I only wish more books would use this design. Every new technology should have major technical reference material written by its inventor or creator available to the general public. In the UNIX world, such works are common. I enthusiastically recommend this book for all KornShell programmers. For those that find it difficult initially, I assure you that you will grow into it, and it will eventually find its place close at hand in your office library.

Korn Shell, The: Linux and Unix Shell Programming Manual
by Anatole Olczak. Paperback

Our Price: $44.95
Paperback - 464 pages 3rd Bk&cdr edition (January 5, 2001)
Addison Wesley Professional; ISBN: 0201675234 ; Dimensions (in inches): 1.06 x 9.21 x 7.42
 
Despite the title this is not a user manual -- this is a reference. Although never mentioned explicitly it covers ksh93.

Korn Shell Quick Reference Guide

Anatole Olczak / Paperback / Published 1998

Korn Shell Reference

Arnold Robbins / Paperback / Published 1995

Korn Shell Reference
Published 1995
 
Unix Shell Commands Quick Reference (Que Quick Reference Series)
William Holliker / Published 1990
 
C Shell Quick Reference Guide
Anatole Olczak / Mass Market Paperback / Published 1998
Amazon price: $7.95 + $1.35 special surcharge

Unix C Shell Desk Reference
Martin R. Arick / Paperback / Published 1993
Amazon price: $27.96 ~ You Save: $6.99 (20%)

Unix C Shell Desk Reference
Paperback / Published 1991

Bash

After ksh93 became open source bash does not make much sense ;-)
 

****+ Learning the Bash Shell

Cameron Newham, Bill Rosenblatt / Paperback / Published 1998
Bash shell is default shell in Linux, but ksh93 is more powerful and more reliable.

Bourne Shell and Portable Shell Programming

***** Portable Shell Programming : An Extensive Collection of Bourne Shell Examples (Hewlett-Packard Professional Books)

Bruce Blinn / Paperback / Published 1995

Textbook Binding - 288 pages 1 edition (October 19, 1995)
Prentice Hall; ISBN: 0134514947
Amazon.com Sales Rank: 40,130
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 10
 
Book Preface - Portable Shell Programming An Extensive Collection of Bourne Shell Examples, 1-e
Review of Portable Shell Programming by by Nick Christenson, npc@jetcafe.org
... After a brief chapter on interpreting command line options in shell scripts, Blinn turns to an extended discussion of the use of sed as a filter for these scripts. The explanation and uses of sed are compact, although they provide enough information to cover the vast majority of the situations for which it is commonly used. A noted absence from the book is that there is no more than passing coverage of the awk programming language, which solves several shell problems more elegantly than other UNIX commands. The complete shell programmer will want to obtain a separate reference to this programming language.

The next several chapters cover shell utilities, including the important and mysterious "IFS" variable, shell functions, and examples of complete and marginally complex shell scripts. The functional explanations are all quite good, and the sample scripts are often useful themselves, and they do a good job of illustrating the use of the concepts presented in preceding chapters.

The next two chapters, on debugging and specific portability issues, are very well thought out and are far and away the best sources of this information I have seen in print. This information is excellent and even an expert shell programmer will almost certainly find something of significant value here. These chapters are followed by a list of common problems and resolutions that shell programmers commonly face. This information is also extremely useful, and it's likely that they will impart significant understanding to most readers. The book ends with a comparison of shells and a summary of the Bourne shell syntax.

The only major downside to this book is it's price. For its size, $40 seems a bit steep to me, but given the quality of the material in the book, it's really quite a bargain. I recommend that every shell programmer should own Portable Shell Programming along with their well worn copy of K&P. I don't think it's necessary to purchase any other books on the topic.

... ... ...
5 out of 5 stars "Practical" is meaningful in this case!, April 10, 1998
 
  Reviewer: dtsmith2 (see more about me) from New York, NY

As opposed to other books with "practical" in the title, this one lives up to its name. I found Chapters 4 (Using Files), 5 (The Environment), and 7 (Using Filters) very helpful. The book is full of many examples of practical things, such as how to delete all blank lines in a file. This makes is valuable for the begin