How the Shell Interprets What You Type
Until the early 1990s, most UNIX users worked interactively with
the C shell or the Bourne shell.
The Korn Shell, an extended Bourne shell, had been around since the
mid '80s and was getting more popular.
Since then, two freely available shells with even more
-have been getting a lot of attention.
This article introduces
The "Bourne-again shell" (named with the usual punny FSF humor) comes from
the Free Software Foundation.
Although the name is a joke, the shell isn't!
I've used UNIX shells for 15 years, and I was really impressed
when I started to read about
(in O'Reilly & Associates'
Learning the bash Shell
Since then I've used
as my login shell.
The shell has a lot of features that
!) don't, but I wouldn't call it "feeping
Here are some of my favorite features:
More than 60
shell variables (
These let me get information I need for
shell setup files (
and also let me configure the shell to do what I want.
I like to
pack information into my shell prompt (
(I haven't added the temperature in Rio de Janeiro yet, but I'm working
lets me run external UNIX commands, as well as shell commands,
and update each prompt on-the-fly.
It can also run UNIX or shell commands (and display the output if any)
before each prompt is printed.
can run a quick system check and put notes in
my prompt (or the top of the window) to warn me about problems, count
the current users, tell me who's just logged in (and out), etc., etc.
has both vi and Emacs
command-line editing (
But it also has the original
C shell history substitution (
There are plenty of times when a short expression like
is faster than cursoring up and over to edit a previous command line.
lets me choose.
I stick to the Bourne Shell for any programs I distribute to other
not enough people have
But it does have some very nice features for scripts and shell functions
of my own - like powerful string-manipulation operators, file tests,
and built-in integer arithmetic.
is constantly being updated.
The edition on the CD-ROM will probably be a little out of
date by the time you get it.
If you want a few more features, a few bug fixes (and, maybe, a few
new bugs too), check a GNU archive on the Net for the latest version.