 |
Index for Section 1 |
|
 |
Alphabetical listing for F |
|
 |
Bottom of page |
|
fc(1)
NAME
fc - Processes the command history list
SYNOPSIS
fc [-r] [-e editor] [first[last]]
fc -l [-nr] [first[last]]
fc [-s] [old=new] [first]
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
fc: XCU5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
OPTIONS
-e editor
Uses the editor named by editor to edit the commands. The editor
string is a utility name, subject to search via the PATH variable. The
value in the FCEDIT variable is used as a default when -e is not
specified. If FCEDIT is null or unset, ed is used as the editor.
-l Lists the commands rather than invoking an editor on them. The
commands are written in the sequence indicated by the first and last
parameters, as affected by -r, with each command preceded by the
command number.
-n Suppresses command numbers when listing with -l.
-r Reverses the order of the commands listed (with -l) or edited (with
neither -l nor -s).
-s Reexecutes the command without invoking an editor.
OPERANDS
first
last
Selects the commands to list or edit. The number of previous commands
that can be accessed is determined by the value of the HISTSIZE
variable. The value of first or last or both is one of the following:
[+]number
A positive number representing a command number; command
numbers can be displayed with the -l option.
-number A negative decimal number representing the command that was
executed number of commands previously. For example, -1 is the
immediately previous command.
string A string indicating the most recently entered command that
begins with that string. If the old=new operand is not also
specified with -s, the string form of the first operand cannot
contain an embedded equal sign.
When the synopsis form with -s is used:
· If first is omitted, the previous command is used.
For the synopsis forms without -s:
· If last is omitted, last defaults to the previous command when -l
is specified; otherwise, it defaults to first.
· If first and last are both omitted, the previous 16 commands are
listed or the previous single command is edited (based on the -l
option).
· If first and last are both present, all of the commands from first
to last are edited (without -l) or listed (with -l). Editing
multiple commands is accomplished by presenting to the editor all
of the commands at one time, each command starting on a new line.
If first represents a newer command than last, the commands are
listed or edited in reverse sequence, equivalent to using -r. For
example, the following commands on the first line are equivalent
to the corresponding commands on the second:
fc -r 10 20 fc 30 40
fc 20 10 fc -r 40 30
· When a range of commands is used, it is not an error to specify
first or last values that are not in the history list; fc
substitutes the value representing the oldest or newest command in
the list, as appropriate. For example, if there are only ten
commands in the history list, numbered 1 to 10, the following
commands list and edit, respectively, all ten commands:
fc -l
fc 1 99
old=new
The first occurrence of string old in the commands to be reexecuted is
replaced by the string new.
DESCRIPTION
The fc utility lists or edits and reexecutes commands previously entered to
an interactive shell.
The command history list references commands by number. The first number
in the list is selected arbitrarily. The relationship of a number to its
command does not change except when the user logs in and no other process
is accessing the list, at which time the system may reset the numbering to
start the oldest retained command at another number (usually 1). When the
number reaches an upper limit, either the value in HISTSIZE or 32767
(whichever is greater), the shell wraps the numbers, starting the next
command with number 1. However, despite this optional wrapping of numbers,
fc maintains the time-ordering sequence of the commands. For example, if
four commands in sequence are given the numbers 32766, 32767, 1 (wrapped),
and 2 as they are executed, command 32767 is considered the command
previous to 1, even though its number is higher.
When commands are edited (when the -l option is not specified), the
resulting lines are entered at the end of the history list and then
reexecuted by sh. The fc command that caused the editing is not entered
into the history list. If the editor returns a non-zero exit status, this
suppresses the entry into the history list and the command reexecution. Any
command-line variable assignments or redirection operators used with fc
affect both the fc command itself as well as the command that results. The
following command reinvokes the previous command, suppressing standard
error for both fc and the previous command:
fc -s -- -1 2>/dev/null
NOTES
Users on windowing systems may want to have separate history files for each
window by setting HISTFILE to the following:
HISTFILE=$HOME/.sh_hist$$
RESTRICTIONS
Since editors sometimes use file descriptors as integral parts of their
editing, redirecting their file descriptors as part of the fc command can
produce unexpected results. For example, if vi is the FCEDIT editor, the
following command will not work correctly on many systems:
fc -s | more
EXIT STATUS
The following exit values are returned:
0 Successful completion of the listing.
>0 An error occurred.
Otherwise, the exit status is that of the commands executed by fc.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of fc:
FCEDIT
This variable, when expanded by the shell, determines the default value
for the -e editor option's editor option-argument. If FCEDIT is null
or unset, ed is used as the editor.
HISTFILE
Determines a path name naming a command history file. If the HISTFILE
variable is not set, the shell attempts to access or create a file
.sh_history in your home directory. If the shell cannot obtain both
read and write access to, or create, the history file, it uses a
default mechanism that allows the history to operate properly. Changes
made to HISTFILE after the history file has been initialized are not
effective. If more than one instance of the shell is using the same
history file, it is unspecified how updates to the history file from
those shells interact. As entries are deleted from the history file,
they will be deleted oldest first.
HISTSIZE
Determines a decimal number representing the limit to the number of
previous commands that are accessible. If this variable is unset, a
default of 128 is used. Changes made to HISTSIZE after the history
file has been initialized are not effective.
LANG
Provides a default value for the internationalization variables that
are unset or null. If LANG is unset or null, the corresponding value
from the default locale is used. If any of the internationalization
variables contain an invalid setting, the utility behaves as if none of
the variables had been defined.
LC_ALL
If set to a non-empty string value, overrides the values of all the
other internationalization variables.
LC_CTYPE
Determines the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to
multibyte characters in arguments and input files).
LC_MESSAGES
Determines the locale used to affect the format and contents of
diagnostic messages written to standard error.
NLSPATH
Determines the location of message catalogues for the processing of
LC_MESSAGES.
SEE ALSO
Commands: sh(1p)
Standards: standards(5)
 |
Index for Section 1 |
|
 |
Alphabetical listing for F |
|
 |
Top of page |
|