The Korn shell is an interactive command and scripting language for accessing Unix(r) and other computer systems. As a complete and high-level programming language in itself, it's been a favorite since it was developed in the mid 1980s by David G. Korn at AT&T Bell Laboratories. Knowing how to use it is an essential skill for serious Unix users. Learning the Korn Shell shows you how to use the Korn shell as a user interface and as a programming environment. Writing applications is often easier and quicker with Korn than with other high-level languages. Because of this, the Korn shell is the most often used shell in commercial environments and among inexperienced users. There are two other widely used shells, the Bourne shell and the C shell. The Korn shell, or ksh, has the best features of both, plus many new features of its own. ksh can do much to enhance productivity and the quality of a user's work, both in interacting with the system, and in programming. The new version, ksh93, has the functionality of other scripting languages such as awk, icon, Perl, rexx, and tcl.Learning the Korn Shell is the key to gaining control of the Korn shell and becoming adept at using it as an interactive command and scripting language. Prior programming experience is not required in order to understand the chapters on basic shell programming. Readers will learn how to write many applications more easily and quickly than with other high-level languages. In addition, readers will also learn about Unix utilities and the way the Unix operating system works in general. The authors maintain that you shouldn't have to be an internals expert to use and program the shell effectively. The second edition covers all the features of the current version of the Korn shell, including many new features not in earlier versions of ksh93, making it the most up-to-date reference available on the Korn shell. It compares the current version of the Korn shell to several other Bourne-compatible shells, including several Unix emulation environments for MS-DOS and Windows. In addition, it describes how to download and build ksh93 from source code.A solid offering for many years, this newly revised title inherits a long tradition of trust among computer professionals who want to learn or refine an essential skill.
Preface Chapter 1. Korn Shell Basics What Is a Shell? Scope of This Book History of Unix Shells Getting the 1993 Korn Shell Interactive Shell Use Files Input and Output Background Jobs Special Characters and Quoting Chapter 2. Command-Line Editing Enabling Command-Line Editing The History File Emacs Editing Mode Vi Editing Mode The hist Command Finger Habits Chapter 3. Customizing Your Environment The .profile File Aliases Options Shell Variables Customization and Subprocesses Customization Hints Chapter 4. Basic Shell Programming Shell Scripts and Functions Shell Variables Compound Variables Indirect Variable References (namerefs) String Operators Command Substitution Advanced Examples: pushd and popd Chapter 5. Flow Control if/else for case select while and until Chapter 6. Command-Line Options and Typed Variables Command-Line Options Numeric Variables and Arithmetic Arithmetic for Arrays typeset Chapter 7. Input/Output and Command-Line Processing I/O Redirectors String I/O Command-Line Processing Chapter 8. Process Handling Process IDs and Job Numbers Job Control Signals trap Coroutines Shell Subprocesses and Subshells Chapter 9. Debugging Shell Programs Basic Debugging Aids A Korn Shell Debugger Chapter 10. Korn Shell Administration Installing the Korn Shell as the Standard Shell Environment Customization Customizing the Editing Modes System Security Features Appendix A. Related Shells Appendix B. Reference Information Appendix C. Building ksh from Source Code Appendix D. AT&T ast Source Code License Agreement Index