1.1. What Is a Shell?
The
shell's job, then, is to translate the
user's command lines into operating system
instructions. For example, consider this command line:
sort -n phonelist > phonelist.sorted
This means, "Sort lines in the file
phonelist in numerical order, and put the result
in the file phonelist.sorted."
Here's what the shell does with this command:
Breaks up
the line into the pieces sort,
-n, phonelist,
>, and phonelist.sorted. These
pieces are called words. Determines the purpose of the words: sort is a
command, -n and phonelist
are arguments, and > and
phonelist.sorted, taken together, are I/O
instructions. Sets up the I/O according to >
phonelist.sorted (output to the file phone list.sorted) and some
standard, implicit instructions. Finds the command sort in a file and runs it with the option
-n (numerical order) and the
argument phonelist (input filename).
Of course, each of these steps really involves several substeps, each
of which includes a particular instruction to the underlying
operating system.
Remember that the shell itself is not UNIX—just the user
interface to it. UNIX is one of the first operating systems to make
the user interface independent of the operating system.
|