In this book, 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 programming 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. Chapter 3, Customizing Your Environment shows several ways of doing this.
Chapter 3 also prepares you for shell programming, the bulk of which is covered in Chapter 4, Basic Shell Programming through Chapter 6, Command-line Options and Typed Variables. You need not have any programming experience to understand these chapters and learn shell programming. Chapter 7, Input/Output and Command-line Processing and Chapter 8, Process Handling give more complete descriptions of the shell's I/O and process handling capabilities, while Chapter 9, Debugging Shell Programs discusses various techniques for debugging shell programs.
You'll learn a lot about the Korn shell in this book; 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 programmer without any previous programming 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 programmers.