history expansion
Reuse and expand the shell history in sh
, Bash, Zsh, rbash
and ksh
.
More information: https://www.gnu.org/software/bash/manual/html_node/History-Interaction.
- Run the previous command as root (
!!
is replaced by the previous command):
sudo !!
- Run a command with the last argument of the previous command:
command !$
- Run a command with the first argument of the previous command:
command !^
- Run the Nth command of the history:
!n
- Run the command
n
lines back in the history:
!-n
- Run the most recent command containing
string
:
!?string?
- Run the previous command, replacing
string1
with string2
:
^string1^string2^
- Perform a history expansion, but print the command that would be run instead of actually running it:
!-n:p