tldr/pages/common/histexpand.md

37 lines
839 B
Markdown

# 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`