fc (Unix)
In-game article clicks load inline without leaving the challenge.
fc (short for fix command) 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, 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. The editor used can be specified with the -e option; otherwise it is read from the FCEDIT environment variable, or, in some shells, EDITOR, 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.
Examples
When invoked with the -l option, the command lists recent lines from the session history:
When invoked with -s PATTERN, the command re-runs the most recent command matching PATTERN:
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":
It is also possible to edit and re-invoke a range of commands from the history. Often, one lists commands first like:
Then, to run the commands identified as 1 and 2:
External links
- : process the command history list – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group