Customer Reviews
For beginners... - By: Richard A. Kirk, 05 Jun 2002 
Traditional shell scripts are horrible. They are not nice languages with orthogonal instruction sets: they have grown organically, & inconsistently. Quotes, double-quotes, & escaped characters are often needed to slip something past one parsing layer to get it to another one.
Chapter one starts off describing what a terminal session actually is, so this is aimed at real beginners.
If you are a beginner, & you are able to chose your scripting language for your job, you might want to look at some of the more recent languages, such as 'python'. They are more regular, & easier to learn & maintain.
Anyway, back to the book. There are things you shouldn't doin a book that may be uses as an introduction & a reference. You should not give examples of code with bugs in, that you explainin the following chapter (ta-daa, aren't I clever?!). You should not give tables of functions or commands unless you list all the commands. If there is an exception to a rule, then you should at least mention it even if you haven't covered that case yet, or, better still, re-arrange the book so the exceptions are explicable. You must resist the urge to surprise the reader: this is shell scripts, & the reader will probably have had their fill of surprises. Last of all, & a personal one this, lay off the Lewis Carroll, please?
You need to be ultra-careful about quotes. When "@" appearsin the text, does this mean a string of one character or three? Can you see whether the quotes arein heavy type?
You need to be really careful to distinguish what is 'in' the shell, & what commands & variables are outside it. Pattern matching is a key part of the shell, so regexps ought to be explainedin some detail. The simple demo scripts should not have 'ed' & 'sed' commands stuckin without saying where they came from.And why not mention the debug flag before chapter 9?
There are some dubious comments about programming style. Is it really bad to use the 'break' statementin a loop? Is '&&' really an obscure & unnecessary way of doing command2 if command1 fails? - I find it neat & compact.
This is a pity, because there are some good bits. The flow diagram on p178 & the attendant text about how command lines are processed is good (well, right up to the "-and it's not the whole story!", but you get the idea). But, for completeness, I reckon if there is something I want to look up about the bash shell, I am going to use my old Korn shell book rather than this book.
A useful aid to understanding the Bash Linux/ Unix shell. - By: , 27 Oct 1999 
This book provides a useful text on the capabilities of the Bash shell for Linux / Unix. The concept of the Unix shell is very much bigger than just the command prompt that it may resemble if you are a "recovering" DOS user. Understanding of the role & capabilities of the shell is an essential prerequisite for effectively harnessing the power of Linux/ Unix & certainly justifies a book to itself. The Bash shell is a particularly powerful & modern shell program which has the advantage of being freely distributable as part of the GNU project, & as such is probably the most widely used shell programin the Linux world. As such if you have no prior loyalties to another flavour shell - I suggest you learn this one. The book will certainly help you achieve this .