The idea for this book came from Frank Pohlmann, who also edited it and provided a great deal of guidance in making sense of my disjointed ramblings on the topic. Gary V. Vaughan's technical advice and broad experience were invaluable throughout. I am particularly indebted to Sven Mascheck's excellent pages of information about historical shells, as well as the guide to shell portability included in the autoconf documentation. Many other developers contributed tidbits, interesting trivia, or feedback on proposed code; there are too many to list, I'm afraid. This book (and everything else I do) would not have been possible without support from my beloved spouse, Jesse.