Related products:
UNIX System Administration Handbook (3rd Edition)
Perl How to Program, Introducing CGI and Python (With CD-ROM)
Unix Shell Programming, Third Edition
sed & awk (2nd Edition)
UNIX(R) Shells by Example (4th Edition) (By Example)
|
Unix
LINUX & UNIX Shell Programming
Format: Paperback
Author: David Tansley
ReleaseDate: 27 December, 1999
Publisher: Addison-Wesley Professional
Rating:
Full of errors
I want to assure you that I am NOT one of those people. First, it's clear that often a reviewer will give a good book a bad rating because they don't understand the material of the book and are frustrated. I am frustrated for far different reasons.
I bought this book because it seemed to cover many topics which are just obscure enough that other shell programming books for beginners leave them out. I'm not a beginniner, but I'm not an expert, and simply want to read about some commands I'm not already familiar with to broaden my horizons.
However, I do have enough experience to soon realize that the book had far too many errors to be useful. These aren't just typos either. For example, on page 66 the author states, "To run a list of commands in the current shell, seperate each command with a command seperator, and enclose the list with round brackets. " and then goes on to give an example:
$ comet month_end || (echo "Hello, guess what! Comet did not work"|mail dave; exit)
Well, if one didn't know better, one might actually believe this was correct. Of course, he also states that, "To run. . . in the subshell. . . use {} instead of (). " and then I quote:
The general format is:
{command1; command2;. . )
(Yes, that is his unmatched parenthesis, not mine. ) The typo is rather harmless, but giving the exact opposite meaning to something, than it actually has is not. I quickly lost my confidence in the accuracy of the book, which makes it virtually useless as a reference manual. It may still be useful to get the general idea of a command, but I wouldn't dare copy the examples in the book without reading the man pages first to make sure they are correct.
There seems to be a typo on every page, often two or three, the index is also awful, and some of the examples are dirt-dumb. Here is an example from the section on the null statement (:):
if [ "`ls -A $DIRECTORY`" = "" ]
then
echo "$DIRECTORY is indeed empty"
else : # do nothing
fi
I'm sure this is a very useful, non-trivial example of the null statement. . . the profoundness just hasn't sunken in yet.
In sum, I believe that the editor position at Addison-Wesley is just a figurehead job, and that those 1000 monkeys trying to type Hamlet produced this as one of their early drafts.
.
definitely NOT a good book!
I have compared this book with other shell programming books and and found this book is not good at all. I don't think this is a good book. So when I need to refer a shell script book I would not use this one. Besieds, the author is really careless, this book contains a lot of errors.
when I wrote this review, I found there are altogether 14 reviews already. Seems some of the reviewers had the same feeling toward this book as me. .
Best Shell Programming Book I've Found Yet!
The author has the talent for condescending to my level to explain concepts that I have had a great deal of trouble understanding. I own no less than ten books on shell programming and this one has helped me more than the rest combined. 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.
|
|