If you want to investigate specific topics rather than
read the entire book through, here is a chapter-by-chapter
- Chapter 1
introduces the Korn shell and tells you how to install it
as your login shell. Then it
gives an introduction to the basics of interactive shell
use, including overviews of the UNIX file and directory scheme,
standard I/O, and background jobs.
- Chapter 2, Command-line Editing
discusses the shell's command history mechanism, including
the emacs- and vi-editing modes and the fc
- Chapter 3, Customizing Your Environment
covers ways to customize your shell environment without
programming, by using the .profile
and environment files.
and shell variables are the customization
- Chapter 4
is an introduction to shell programming. It explains the
basics of shell scripts and functions, and discusses
several important "nuts-and-bolts" programming features:
string manipulation operators, regular expressions,
command-line arguments (positional parameters), and command
- Chapter 5, Flow Control
continues the discussion of shell programming by describing
command exit status, conditional expressions, and
the shell's flow-control structures: if
, and until
- Chapter 6, Command-line Options and Typed Variables
goes into depth about positional parameters and command-line
option processing, then discusses special types and properties
of variables, such as integer arithmetic and arrays, and the
- Chapter 7, Input/Output and Command-line Processing
gives a detailed description of Korn shell I/O, filling in
the information omitted in Chapter 1
. All of the shell's I/O
redirectors are covered, as are the line-at-a-time I/O
. Then the chapter
discusses the shell's command-line processing mechanism
and the eval
- Chapter 8, Process Handling
covers process-related issues in detail. It starts with a discussion
of job control, then gets into various low-level information
about processes, including process IDs, signals, and traps.
The chapter then moves out to a higher level of abstraction to
discuss coroutines, two-way pipes, and subshells.
- Chapter 9, Debugging Shell Programs
discusses various debugging techniques, starting with
simple ones like trace and verbose modes and "fake signal"
traps. Then it presents kshdb
, a Korn shell debugging
tool that you can use to debug your own code.
- Chapter 10, Korn Shell Administration
gives information for system administrators, including
techniques for implementing system-wide
and features related to system security.
- Appendix A
compares the 1988 UNIX Korn shell to several similar shells,
including the standard Bourne shell, the IEEE 1003.2 POSIX shell
standard, the Windowing Korn shell
), public domain Korn shell (pdksh
the Free Software Foundation's bash
, and the MKS Toolkit
shell for MS-DOS and OS/2.
- Appendix B, Reference Lists
contains lists of shell invocation options, built-in commands,
built-in variables, conditional test operators, options,
command options, and emacs and vi editing mode commands.
- Appendix C, Obtaining Sample Programs
lists the ways that you can
obtain the major scripts in this book for free, using anonymous FTP or