fc, histdisplay, fix, edit and re-enter previous KornShell commands |
KornShell Built-in |
fc
[-r
] [-e
editor]
[first [last]]
fc
-l
[-nr
]
[first [last]]
fc
-s
[old=new] [specifier]
hist
[-r
] [-e
editor]
[first [last]]
hist
-l
[-nr
] [first [last]]
hist
-s
[old=new] [specifier]
fc
command displays, edits and re-enters commands which
have been input to an interactive KornShell. fc
stands for
fix commands. The environment variable HISTSIZE
contains the number of commands that are accessible. If
HISTSIZE
is not defined, 128 commands are accessible.
The shell stores these commands in a history file. When the
HISTFILE
environment variable is defined as the name
of a writable file, the shell uses this as the history file; otherwise, the
history file is $HOME/.sh_history
, if
HOME
is defined and the file is writable.
If the HOME
variable is not defined, or the file is
not writable, the shell attempts to create a temporary file for the history.
If a temporary file cannot be created, the shell does not keep a history file.
A shell shares history (commands) with all shells that have the same
history file. A login shell truncates the history file if it is more than
HISTSIZE
lines long.
ENV
file. By default, however, it
begins recording commands in the history file when it encounters a function
definition in either of these set-up files. This means that the
HISTSIZE
and HISTFILE
variables must be set up appropriately before the first function definition. If
you do not want the history file to begin at this time, use
For further information, seeset -o nolog
sh
and
set
.
Any variable assignment or redirection that appears on the
fc
command line affects both the fc
command itself and the commands that fc
produces.
The first form of fc
in the
SYNOPSIS section puts you into an editor with a
range of commands to edit. When you leave the editor, fc
inputs the edited commands to the shell.
The first and last command in the range are specified with first
and last. There are three ways to specify a command.
If the command specifier is an unsigned or positive number,
fc
edits the command with that number.
If the command specifier is a negative number -n,
fc
edits the command that came n
commands before the current command.
If the command specifier is a string, fc
edits the
most recent command beginning with that string.
fc
edits the single
command specified by first. If you omit both, fc
edits the most recent command entered to the shell.
The hist
command is identical to the fc
command except that when determining which editor to use, it checks the value of
the HISTEDIT
environment variable first, before
checking the FCEDIT
variable. The
HISTEDIT
variable is not used by fc
.
-e
editorinvokes editor to edit the commands. If you do not specify the
-e
option, fc
assumes that the
environment variable FCEDIT
, if defined,
contains the name of the editor for fc
to use. If
FCEDIT
is not defined, fc
invokes ed
to edit the commands.
-l
displays the command list. This option does not edit or re-enter the
commands. If you omit last with this option, fc
displays all commands from the one indicated by first through
to the most recently entered command. If you omit both first and
last, fc
displays the 16 most recently entered
commands.
-n
suppresses command numbers when displaying commands.
-r
reverses the order of the commands in the command range.
-s
re-enters exactly one command without going through an editor.
If a command specifier is given, fc
selects the command to re-enter as described earlier; otherwise,
fc
uses the last command entered. To perform a simple
substitution on the command before re-entry, use a parameter of the form
The string new replaces the first occurrence of string old.old=new
fc
displays the (possibly modified) command before
re-entering it./tmp
Used to store temporary files. You can use the
TMPDIR
environment variable to dictate a
different directory to store temporary files. See
envvar
for more details.
FCEDIT
contains the path name of the default editor to be used by
fc
if none is specified with the
-e
option. If this variable is unset or null,
fc
uses ed
to edit commands.
HISTEDIT
contains the path name of the default editor for the
hist
command. If this variable is not set,
hist
uses the editor indicated by the
FCEDIT
environment variable. Finally, if
neither of these variables are set, hist
uses
ed
to edit commands.
HISTFILE
contains the path name of the history file.
HISTSIZE
gives the maximum number of previous commands that are accessible.
0
If you specified -l
, this indicates successful
completion.
1
Failure due to any of the following:
2
An invalid command line option or argument.
fc
returns a non-zero exit status,
fc
does not execute the commands being edited and does not
enter those commands in the history file. The exit status of
fc
is the exit status of the editor.
When fc
executes one or more commands, the exit status of
fc
is the exit status of the last executed command.
fc
must create a temporary file to do some
operations like editing. It prints this message when it cannot create its
temporary file, for example, because the disk is full.
You asked to edit a command beginning with a particular string, but there was no such command in the history file.
r
as a built-in alias for
fc
-s
and
history
as a built-in alias for
fc
-l
.