Shell Programming in Unix, Linux and OS X is a thoroughly updated revision of Kochan and Wood's classic Unix Shell Programming tutorial. Following the methodology of the original text, the book focuses on the POSIX standard shell, and teaches you how to develop programs in this useful programming environment, taking full advantage of the underlying power of Unix and Unix-like operating systems.
After a quick review of Unix utilities, the book's authors take you step-by-step through the process of building shell scripts, debugging them, and understanding how they work within the shell's environment. All major features of the shell are covered, and the large number of practical examples make it easy for you to build shell scripts for your particular applications. The book also describes the major features of the Korn and Bash shells.
Learn how to...
- Take advantage of the many utilities provided in the Unix system
- Write powerful shell scripts
- Use the shell's built-in decision-making and looping constructs
- Use the shell's powerful quoting mechanisms
- Make the most of the shell's built-in history and command editing capabilities
- Use regular expressions with Unix commands
- Take advantage of the special features of the Korn and Bash shells
- Identify the major differences between versions of the shell language
- Customize the way your Unix system responds to you
- Set up your shell environment
- Make use of functions
- Debug scripts
Contents at a Glance
1 A Quick Review of the Basics
2 What Is the Shell?
3 Tools of the Trade
4 And Away We Go
5 Can I Quote You on That?
6 Passing Arguments
7 Decisions, Decisions
8 'Round and 'Round She Goes
9 Reading and Printing Data
10 Your Environment
11 More on Parameters
12 Loose Ends
13 Rolo Revisited
14 Interactive and Nonstandard Shell Features
A Shell Summary
B For More Information
Autorentext
Stephen Kochan is the author or co-author of several best-selling titles on Unix and the C language, including Programming in C, Programming in Objective-C, Topics in C Programming, and Exploring the Unix System. He is a former software consultant for AT&T Bell Laboratories, where he developed and taught classes on Unix and C programming.
Patrick Wood is the CTO of the New Jersey location of Electronics for Imaging. He was a member of the technical staff at Bell Laboratories when he met Mr. Kochan in 1985. Together they founded Pipeline Associates, Inc., a Unix consulting firm, where he was vice president. They co-authored Exploring the Unix System, Unix System Security, Topics in C Programming, and Unix Shell Programming.
Inhalt
1 A Quick Review of the Basics
Some Basic Commands
Displaying the Date and Time: The date Command
Finding Out Who's Logged In: The who Command
Echoing Characters: The echo Command
Working with Files
Listing Files: The ls Command
Displaying the Contents of a File: The cat Command
Counting the Number of Words in a File: The wc Command
Command Options
Making a Copy of a File: The cp Command
Renaming a File: The mv Command
Removing a File: The rm Command
Working with Directories
The Home Directory and Pathnames
Displaying Your Working Directory: The pwd Command
Changing Directories: The cd Command
More on the ls Command
Creating a Directory: The mkdir Command
Copying a File from One Directory to Another
Moving Files Between Directories
Linking Files: The ln Command
Removing a Directory: The rmdir Command
Filename Substitution
The Asterisk
Matching Single Characters
Filename Nuances
Spaces in Filenames
Other Weird Characters
Standard Input/Output, and I/O Redirection
Standard Input and Standard Output
Output Redirection
Input Redirection
Pipes
Filters
Standard Error
More on Commands
Typing More Than One Command on a Line
Sending a Command to the Background
The ps Command
Command Summary
2 What Is the Shell?
The Kernel and the Utilities
The Login Shell
Typing Commands to the Shell
The Shell's Responsibilities
Program Execution
Variable and Filename Substitution
I/O Redirection
Hooking up a Pipeline
Environment Control
Interpreted Programming Language
3 Tools of the Trade
Regular Expressions
Matching Any Character: The Period (.)
Matching the Beginning of the Line: The Caret (^)
Matching the End of the Line: The Dollar Sign $
Matching a Character Set: The [...] Construct
Matching Zero or More Characters: The Asterisk (*)
Matching a Precise Number of Subpatterns: \{...\}
Saving Matched Characters: \(...\)
cut
The -d and -f Options
paste
The -d Option
The -s Option
sed
The -n Option
Deleting Lines
tr
The -s Option
The -d Option
grep
Regular Expressions and grep
The -v Option
The -l Option
The -n Option
sort
The -u Option
The -r Option
The -o Option
The -n Option
Skipping Fields
The -t Option
Other Options
uniq
The -d Option
Other Options
4 And Away We Go
Command Files
Comments
Variables
Displaying the Values of Variables
Undefined Variables Have the Null Value
Filename Substitution and Variables
The ${variable} Construct
Built-in Integer Arithmetic
5 Can I Quote You on That?
The Single Quote
The Double Quote
The Backslash
Using the Backslash for Continuing Lines
The Backslash Inside Double Quotes
Command Substitution
The Back Quote
The $(...) Construct
The expr Command
6 Passing Arguments
The $# Variable
The $* Variable
A Program to Look Up Someone in the Phone Book
A Program to Add Someone to the Phone Book
A Program to Remove Someone from the Phone Book
${n}
The shift Command
7 Decisions, Decisions
Exit Status
The $? Variable
The test Command
String Operators
An Alternative Format for test
Integer Operators
File Operators
The Logical Negation Operator !
The Logical AND Operator -a
Parentheses
The Logical OR Operator -o
The else Construct
The exit Command
A Second Look at the rem Program
The elif Construct
Yet Another Version of rem
The case Command
Special Pattern-Matching Characters
The -x Option for Debugging Programs
Back to the case
The Null Command :
The && and || Constructs
8 'Round and 'Round She Goes
The for Command
The $@ Variable
The for Without the List
The while Command
The until Command
More o…