In recent years, the UNIX operating system has seen a huge boost in its popularity, especially
with the emergence of Linux. For programmers and users of UNIX, this comes as no
surprise: UNIX was designed to provide an environment that’s powerful yet easy to use.
One of the main strengths of UNIX is that it comes with a large collection of standard
programs. These programs perform a wide variety of tasks from listing your files to reading
e-mail. Unlike other operating systems, one of the key features of UNIX is that these
programs can be combined to perform complicated tasks and solve your problems.
One of the most powerful standard programs available in UNIX is the shell. The shell is
a program that provides a consistent and easy-to-use environment for executing programs
in UNIX. If you have ever used a UNIX system, you have interacted with the shell.
The main responsibility of the shell is to read the commands you type and then ask the
UNIX kernel to perform these commands. In addition to this, the shell provides several
sophisticated programming constructs that enable you to make decisions, repeatedly execute
commands, create functions, and store values in variables.
This book concentrates on the standard UNIX shell called the Bourne shell. When
Dennis Ritche and Ken Thompson were developing much of UNIX in the early 1970s,
they used a very simple shell. The first real shell, written by Stephen Bourne, appeared
in the mid 1970s. The original Bourne shell has changed slightly over the years; some
features were added and others were removed, but its syntax and its resulting power have
remained the same.
The most attractive feature of the shell is that it enables you to create scripts. Scripts are
files that contain a list of commands you want to run. Because every script is contained
in a file and every file has a name, scripts enable you to combine existing programs to
create completely new programs that solve your problems. This book teaches you how to
create, execute, modify, and debug shell scripts quickly and easily. After you get used to
writing scripts, you will find yourself solving more and more problems with them.