Scope of this tutorial

In this tutorial, you will learn about the Korn shell, which is the most recent and powerful of the major UNIX shells. There are two ways to use the Korn shell: as a user interface and as a developing environment.

This chapter and the next cover interactive use. These two chapters should give you enough background to use the shell confidently and productively for most of your everyday tasks.

After you have been using the shell for a while, you will undoubtedly find certain characteristics of your environment (the shell's "look and feel") that you would like to change and tasks that you would like to automate. Customizing Your Environment shows several ways of doing this.

also prepares you for shell developing, the bulk of which is covered in Basic Shell Developing through Command-line Options and Typed Variables. You need not have any developing experience to understand these chapters and learn shell developing. Input/Output and Command-line Processing and Process Handling give more complete descriptions of the shell's I/O and process handling capabilities, while Debugging Shell Programs discusses various techniques for debugging shell programs.

You'll learn a lot about the Korn shell in this tutorial; you'll also learn about UNIX utilities and the way the UNIX operating system works in general. It's possible to become a virtuoso shell developer without any previous developing experience. At the same time, we've carefully avoided going down past a certain level of detail about UNIX internals. We maintain that you shouldn't have to be an internals expert to use and program the shell effectively, and we won't dwell on the few shell features that are intended specifically for low-level systems developers.