am 16. September 2006
I wanted to get an introduction and reference for the bash shell, because I needed to do some scripting. I thought that this book might be a good start, but while reading I got a bit disapointed about it. Maybe the problem was, that firstly I have allready some programming skill, and secondly that I learn programming by writing my own programs.
Unfortunately this book isn't easy to handle, if you search for an answer to a certein problem. The whole structure and layout 'seems confused. Instead of explaining some points at once with all the relevant aspects this books gives remarks spread throughout the book, sometimes there are important informations just in the footnotes. I have the oppinion, that the authors are telling a story ('alice in wonderland'), which is good to read and contains a lot of usefull information. But the information is given whenever it supports the story, not when it is really needed.
The second negative point is the layout. Many of the tables are not on a single page, even though the length of the table easily would allow it. This makes it a bit hard to read.
The bash reference in the appendix wasn't sufficient, the one in 'Linux in a nutshell' is more usefull.
I can recommend this book to anyone who wants to get a general overview over the bash shell and read it as a good story, but when you need a good companion for your programming tasks this might be the wrong book. I hope that there are better introductions when this one...
am 17. Februar 2009
This book is written in an awfully boring style (and hence little fun to read). Worse, it provides a totally academic introduction to the bash shell. How else could it be explained that key concepts in daily scripting such as while loops take 140 pages to get mentioned? Even basics like if-control structures require the reader to hold their breath for more than 100 pages (while reading about different keyboard shortcuts in different editors ...).
For anybody interested in doing actual bash programming this book cannot be recommended. In contrast to many other O'Reilly books (take the magnificent Llama book as an introduction to Perl as an example) this book does not follow a structure based on actual application scenarios. Coding examples are few and often incomplete in that they only illustrate a part of the aspects one might be interested in.
In my view the structure of this book is historically inherited from previous editions and times in which such an approach to learning a programming language may have been useful. For a Linux-based programmer today, however, an entirely different structure would be required. To all the O'Reillys out there: PLEASE give this one another try. It cannot be hard to do much better than this. And yes: pitty about the money.