unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



fc(1)									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 indus-
  try 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 speci-
      fied.  If	FCEDIT is null or unset, ed is used as the editor.

  -l  Lists the	commands rather	than invoking an editor	on them.  The com-
      mands are	written	in the sequence	indicated by the first and last
      parameters, as affected by -r, with each command preceded	by the com-
      mand 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 vari-
      able.  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 mul-
	   tiple 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 substi-
	   tutes 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 previ-
  ous to 1, even though	its number is higher.

  When commands	are edited (when the -l	option is not specified), the result-
  ing 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	com-
  mand 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 multi-
      byte characters in arguments and input files).

  LC_MESSAGES
      Determines the locale used to affect the format and contents of diag-
      nostic 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)