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.

Quick facts Developers, Operating system ...

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

See also

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads