May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

fc command

News Syntax Recommended Links Perl re-implemenations Recommended Papers Rcut Reference
uniq sort tr cat AWK Pipes  
    Admin Horror Stories Unix History Tips Humor Etc

fc command provides access to your history file. The Korn shell creates a history file containing the commands you have previously entered during your current login session. You can use the fc utility to:

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]

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

Normally, the KornShell does not keep a history of commands executed from a profile file or the 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

set -o nolog

For further information, see 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.

When you use the first form in the SYNOPSIS to edit a command, you can omit either last or both first and last. If you omit last, 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 editor 

invokes 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 and the shell is in bash mode, fc instead uses the editor specified by the EDITOR environment variable. If EDITOR is also not defined, fc invokes vi to edit the commands.

If FCEDIT is not defined and the shell is not in bash, fc simply invokes ed to edit the commands.


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.


suppresses command numbers when displaying commands.


reverses the order of the commands in the command range.


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. fc displays the (possibly modified) command before re-entering it.



Used to store temporary files. fc uses the ROOTDIR environment variable to find the temporary directory. You can use the TMPDIR environment variable to dictate a different directory to store temporary files. See envvar for more details.



contains the path name of the default editor to be used by fc if none is specified with the -e option.

If FCEDIT is not defined and the shell is in bash mode, fc instead uses the editor specified by the EDITOR environment variable. If EDITOR is also not defined, fc invokes vi to edit the commands.

If FCEDIT is not defined and the shell is not in bash, fc simply invokes ed to edit the commands.


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.


contains the path name of the history file.


gives the maximum number of previous commands that are accessible.


Possible exit status values are:


If you specified -l, this indicates successful completion.


Failure due to any of the following:

— missing history file
— cannot find the desired line in the history file
— cannot create temporary file

An invalid command line option or argument.

When an editor invoked by 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.

Cannot create temporary file 

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.

No command matches string 

You asked to edit a command beginning with a particular string, but there was no such command in the history file.



Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright © 1996-2021 by Softpanorama Society. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 12, 2019