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.
-