Like the other books in O'Reilly's Learning series, Learning the bash Shell is aimed at novices but is also useful to experienced users. It begins with the basics, not assuming the user has any experience with other shells or even with Unix, and would make a decent introduction to shell programming. The coverage is, however, comprehensive, with later chapters covering the more obscure features of bash and the more complex aspects of shell programming.
Many of my friends think the idea of a whole book devoted to a shell is bizarre, but that is more of an objection to bash (which is a bit on the baroque side) than anything else, and I won't enter into the relative merits of different shells. If you are, say, a novice Linux user, then Learning the bash Shell contains more than you are likely to want or need at first: the brief summary in a more general book such as Running Linux will be enough to get you by. If you start to do any sort of serious shell programming, however, Learning the bash Shell would be a most useful volume. Whether those who are familiar with other shells find it worthwhile will largely depend on how comfortable they are with the bash manual entry.
Danny Yee received review a copy of the book mentioned from O'Reilly & Associates, but has no stake, financial or otherwise, in their success. He can be reached at danny@cs.su.oz.au.