2023-08-02 17:06:44 +03:00
|
|
|
# Exclamation mark
|
|
|
|
|
|
|
|
> Bash builtin to substitute with a command found in history.
|
2024-09-10 20:36:38 +02:00
|
|
|
> More information: <https://gnu.org/software/bash/manual/bash.html#Event-Designators>.
|
2023-08-02 17:06:44 +03:00
|
|
|
|
2023-11-12 04:08:58 +01:00
|
|
|
- Substitute with the previous command and run it with `sudo`:
|
2023-08-02 17:06:44 +03:00
|
|
|
|
|
|
|
`sudo !!`
|
|
|
|
|
|
|
|
- Substitute with a command based on its line number found with `history`:
|
|
|
|
|
|
|
|
`!{{number}}`
|
|
|
|
|
2023-09-15 03:39:50 +03:00
|
|
|
- Substitute with a command that was used a specified number of lines back:
|
2023-08-02 17:06:44 +03:00
|
|
|
|
|
|
|
`!-{{number}}`
|
|
|
|
|
2023-11-11 12:42:46 -03:00
|
|
|
- Substitute with the most recent command that starts with a string:
|
2023-08-02 17:06:44 +03:00
|
|
|
|
|
|
|
`!{{string}}`
|
2023-09-25 13:07:36 -05:00
|
|
|
|
|
|
|
- Substitute with the arguments of the latest command:
|
|
|
|
|
|
|
|
`{{command}} !*`
|
2024-02-26 19:36:15 +02:00
|
|
|
|
|
|
|
- Substitute with the last argument of the latest command:
|
|
|
|
|
|
|
|
`{{command}} !$`
|
2024-10-08 18:37:14 +03:00
|
|
|
|
|
|
|
- Substitute with the last command but without the last argument:
|
|
|
|
|
|
|
|
`!:-`
|
|
|
|
|
|
|
|
- Print last command that starts with a string without executing it:
|
|
|
|
|
|
|
|
`!{{string}}:p`
|