Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ Free Shipping
+ Free Shipping
+ $3.99 shipping
From Bash to Z Shell: Conquering the Command Line Paperback – November 11, 2004
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
From the Publisher
Oliver Kiddle is actively involved with the development of ZSH, and acts as a team authority in areas such as completion and parameters. Kiddle is a graduate of the University of York.
Jerry Peek is a freelance writer and instructor. He has used shells extensively and has taught users about them for over 20 years. Peek is the "Power Tools" columnist for Linux Magazine and coauthored the book UNIX Power Tools.
Peter Stephenson grew up in northeast England and studied physics at Oxford, where he earned a bachelor's degree and a Ph.D. Stephenson spent 9 years as a physics researcher, with an emphasis on computational physics, and resided in Liverpool, Swansea, Berlin, and Pisa.
Since 2000, Stephenson has been a software engineer with Cambridge Silicon Radio, where he works on the baseband firmware for short-range digital radio standards, such as Bluetooth. Stephenson has been involoved in the development of ZSH since the 1990s, when he began writing the FAQs. The past several years, he has coordinated the shell's development.
About the Author
Oliver Kiddle is actively involved with the development of the Z shell, and acts as a team authority in areas such as completion and parameters. Kiddle is a graduate of the University of York, U.K.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Kindle Version: I purchased the kindle version and must caution people about this option. The formatting frequently doesn't translate well and command in a monospaced typeface often have an extra space inserted before or after an underscore, can be very confusing at times.
From Bash to Z Shell is organized into three parts. Part one is an introduction to shell basics. It focuses on typical interactions with a shell including all of the things I mentioned knowing before reading this book. There is surprisingly good depth even here though and I doubt that anyone short of a power user could make it through this section without picking up a new trick or two. I learned multiple things from each chapter in this section.
In part two, each chapter takes a single aspect of the shells and really focuses in on just that. You will find chapters about the startup files each shell invokes as well as shell command histories. This is comprehensive coverage that really gets you to understand how things work as well as how to tune them to your personal tastes. You are even less likely to not pickup great tips in here.
The third and final part of the book turns to shell programming. While I suspect that plenty of users interact with a shell regularly without getting much into scripting them, there are still useful tidbits in here for them too. For example, after reading this section, I added some code to my startup file to customize my shell's completion functionality. I can now tab-complete the server names used by my workplace and even file system paths on those servers. This section also has a very good chapter on variables that will definitely help in day to day usage. A couple of the final chapters in here are heavily slanted towards or exclusively about the Z Shell though, so those chapters don't hold much for users of other shells.
As the title suggests, the book extensively covers both the Bash shell, which seems to be the standard default on many Unix systems now, and the feature-rich Z Shell that power users seem to favor. Surprisingly though, the book does talk about many other shells. In the first part especially, features tend to be described for more than just the two shells with top billing. This falls off in the later parts to some extent though. Also, the authors clearly aren't fans of the C Shell or its derivative the T C-Shell, so fans of those will want to look elsewhere. Windows receives some screen time, but only from the angle of running Unix-like environments and shells on it. You won't find coverage of the native Windows shells in these pages.
The book is quite good at covering the similarities of the shells. They frequently tell you when some command will work unchanged in both Bash and the Z Shell and they always do their best to give two equivalent commands when there are differences. This makes the shell knowledge you pick up from reading quite portable. It's also nice for those who don't know much about the differences between the shells and thus are trying to learn enough to pick the right one for them. It helped me choose a favorite. The only downside of this is that the transitions seem to become less smooth late in the book and I found myself wondering if we were still talking about Bash or had moved on to Z Shell a few times. This is a minor complaint though.
Beyond covering the shells well, the book can also help you better understand the design of the Unix operating system. It has some great asides on things like process forking and child process inheritance, special files and devices, and terminal drivers. Seeing these items through their interactions with a shell can make them significantly easier to grasp.
The writing style of this book is very natural. That's important since it distills so much information into every page, you could easily begin to feel overwhelmed. Luckily, that wasn't the case at all for me. I found the material to be presented so naturally that I absorbed it with ease. The book also has abundant cross references and a strong index which will make it great to reference later.
The final measure of a book like this turns out to be how much it changed your daily work habits. I've already noticed dramatic differences. I'm using shell loops at the command-line now to process many files at once; I actually understand shell quoting and when to use which types of quotes and escapes to get the desired effect; I can easily strip off a file extension or get a directory name from a full path when I need one; I make constant use of the command history now whether I'm searching for a past command, correcting a typo, or just pulling a single argument out of a previous command for reuse in a new command; and I've written a few shell functions to provide shortcuts to my common tasks. I just naturally began doing these things too, I didn't have to work at it a lot. From Bash to Z Shell just raised my understanding that much. To me, that's a big selling point.
I initially bought the book to lean the Z Shell (zsh), but decided that I'll stick with good 'ole Bash for a little longer. The tricks I've learned through this book about Bash quenches my needs for the moment. This book teaches you about essential techniques such as CDPATH, History options, key bindings, editing modes, and tons more. I've only read it only once, but I have already dog-eared 20 pages. My ~/.bashrc, and ~/.inputrc are in full swing with many new shortcuts! I highly recommend this book!!