The C shell and bash
can save copies of the previous command lines
you type.
Later, you can ask for a copy of some or all of a previous command line.
That can save time and retyping.
This feature is called history substitution
, and it's done when you type a string
that starts with an exclamation point (!
command
).
You can think of it like
variable substitution ($
varname
) (6.8
)
or
command substitution (`
command
`
) (9.16
)
:
the shell replaces what you type (like !$
) with something else
(in this case, part or all of a previous command line).
Article
11.1
is an introduction to shell history.
These articles show lots of ways to use history substitution:
We start with favorite uses from several contributors - articles
11.3
,
11.4
,
11.5
,
11.6
.
Article
11.7
starts with a quick introduction, then covers the
full range of history substitutions with a series of examples that show the
different kinds of things you can do with history.
(Back in article
9.6
are examples of csh
and bash
operators like :r
.
Many of these can be used to edit history substitutions.)
See an easy way to repeat a set of csh
or bash
commands in article
11.8
.
Each shell saves its own history.
To pass a shell's history to another shell, see articles
11.11
and
11.12
.
You don't have to use an exclamation point (!
) for history.
Article
11.15
shows how to use some other character.
The Korn shell does history in a different way.
Article
11.13
introduces part of that: command-line editing in ksh
and bash
.
One last note:
putting the history number in your prompt (7.2
)
makes it easy to re-use commands that haven't scrolled off your screen.