The first thing users of the UNIX or Linux operating systems come face to face with is the shell . "Shell" is the UNIX term for a user interface to the system ”something that lets you communicate with the computer via the keyboard and the display. Shells are just separate programs that encapsulate the system, and, as such, there are many to choose from.
Systems are usually set up with a "standard" shell that new users adopt without question. However, some of these standard shells are rather old and lack many features of the newer shells. This is a shame, because shells have a large bearing on one's working environment. Since changing shells is as easy as changing hats, there is no reason not to change to the latest and greatest in shell technology.
Of the many shells to choose from, this book introduces the Bourne Again shell ( bash for short), a modern general-purpose shell. Other useful modern shells are the Korn shell ( ksh ) and the "Tenex C shell" ( tcsh ); both are also the subjects of O'Reilly handbooks.