Top Qs
Timeline
Chat
Perspective
Fc (Unix)
From Wikipedia, the free encyclopedia
Remove ads
fc (short for fix command[1]) is a shell command that lists, edits and re-executes commands previously entered in the shell. It is particularly helpful for editing complex, multi-line commands. Originally developed for Unix and standardized by POSIX, the command is available in many operating systems today.
As it is required to be "intrinsic" by POSIX,[2] it is implemented as a builtin in the Bash, Zsh, and Almquist shells.
Invoked with no options, the command opens a text editor, allowing the user to modify the last-run command. Upon exiting the editor, the modified command is executed in the current shell.[3] The editor used can be specified with the -e option; otherwise it is read from the FCEDIT environment variable,[4] or, in some shells, EDITOR,[5][6][7] with a fallback to vi or ed. Command-line options allow for quick substitution, repetition or modification of a specific command from the session history, or a range of commands from the history.
Remove ads
Examples
When invoked with the -l option, the command lists recent lines from the session history:
$ fc -l
1 pwd
2 whoami
3 ls
4 ls -a
When invoked with -s PATTERN, the command re-runs the most recent command matching PATTERN:
$ fc -s ls
ls -a
. .. .bash_logout .bashrc .profile
Option -s enables inline substitution. For example, consider that the last command ls floder contains a typo. The following command runs the last command with "flod" replaced with "fold":
$ fc -s flod=fold
ls folder
It is also possible to edit and re-invoke a range of commands from the history. Often, one lists commands first like:
$ fc -l
1 pwd
2 whoami
3 ls
4 ls -a
5 ls -la
Then, to run the commands identified as 1 and 2:
$ fc 1 2
pwd
/home/user
whoami
user
Remove ads
External links
- : process the command history list – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group
See also
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads