2.2. The History File
All of the Korn shell's command history facilities depend on a file
that stores commands as you type them in. This file is
normally .sh_history in your home directory,
but you can call it whatever you like by setting the
environment variable HISTFILE (see Chapter 3).
When you run one of the Korn shell's editing modes, you are actually
running a mini-editor on your history file.
If you run more than one login
session at a time (e.g., more than one xterm on an X Windows
workstation), you may find it advantageous to maintain a separate
history file for each login session.
Put the following line in your .profile:
HISTFILE=~/.hist.$(tty | sed 's;.*/;;')
This creates a history file whose name ends with the last
component of your terminal's device name. For example,
your window's terminal device name might be /dev/pts/42.
The sed command strips everything through the last
slash, leaving just the 42.
The history file then becomes ~/.hist.42.
You can remove the history file at logout, as explained in
Chapter 4.
Or you can leave the files around, and your history will be there the next
time you start a window on that same terminal device.
(Preserving history between sessions is the point of the history
file, after all.)
An attractive alternative is to use a single history file for all
your windows. Each running instance of the Korn shell is smart enough
to share its file with other running instances; from a second window,
you can recall and edit the commands run in the first window.
Another environment variable, HISTSIZE, can be used to determine
the maximum number of commands accessible from the history file. The
default is 128 (i.e., the 128 most recent commands),
which should be more than adequate.
 |  |  | 2. Command-Line Editing |  | 2.3. Emacs Editing Mode |
Copyright © 2003 O'Reilly & Associates. All rights reserved.
|