Fc (Unix) Explained

fc
Developer:Various open-source and commercial developers
Operating System:Unix, Unix-like
Platform:Cross-platform
Genre:Command

is a standard program on Unix and Unix-like operating systems that lists, edits and reexecutes commands previously entered to an interactive shell. fc is a builtin command in the Bash and Zsh shells and is an initialism for "fix command". It is particularly helpful for editing complex, multi-line commands. The editor can be specified by setting the EDITOR (changes the default editor) or the FCEDIT environment variable.

Examples

Flag -l used to list previous command history, with example showing command ls as item 1001 in the user's history.

$ fc -l1001 ls

Flag -s with this index would then recall the history command from 1001:

$ fc -s 1001ls

Though more powerfully, -s enables inline substitution.

$ ls floder # user typo

$ fc -s ^floder^folder^ # Command revised and runs with correctionls folder

Most powerfully, executing fc on its own edits the last command executed. Editor can be specified on command line (-e) or via environment variable FCEDIT. User is thus able to fully modify the last command executed via the editor, upon exiting will execute the resultant command.[1]

$ fc # Change 'ls' to 'ls -la' in editor and exitls -la

See also

Notes and References

  1. Web site: Fix history: Edit the last bash command . 5 January 2020 .