Upvote for “sudo !!” No one ever seems to know about “!!” And it’s such a useful command.
I personally found out about it when I wrote a bash script that contained a password with two exclamation marks and I wondered why the last command kept being concatenated to the end of the password.
Also checkout thefuck for fixing other various typos
It just expands into the last command you put in your shell, so it's useful for retrying a command that you want to prepend with sudo for example, if you realize you needed elevated privileges, or maybe you want to pipe something in it, pipe it through something, redirect its output etc.
My install of Endeavour doesn't have it, and I haven't been able to figure out what package to install to add it. Also haven't tried very hard cause it's just a minor convenience but if anyone knows ...
Oooh it's cause I'm using fish isn't it? Is there a way to add it?
Had to check since this is something I've been wondering myself, but apparently not possible. From the fish FAQ:
Because history substitution is an awkward interface that was invented before interactive line editing was even possible. Instead of adding this pseudo-syntax, fish opts for nice history searching and recall features. Switching requires a small change of habits: if you want to modify an old line/word, first recall it, then edit.
However, for the use case here, with sudo:
As a special case, most of the time history substitution is used as sudo !!. In that case just press Alt+S, and it will recall your last commandline with sudo prefixed (or toggle a sudo prefix on the current commandline if there is anything).
Some people never get to experience the joys of squinting into a screen 4 inches away from your nose to inspect a long ass command. It’s the simple things in life
I used to do sudo !!, but then I've started learning the shortcuts of my shell a bit more - Ctrl+A jumps to the beginning of the line, which, technically speaking, is a saving of 1 (!) keystroke, compared to Shift+1+1.
This has also led to discover that emacs is actually much more useful compared to vim as it uses the same shortcuts.
If you already submitted the command, you’ll have to hit Up first to have a line to jump to the beginning of, though, so it’ll be the same number of keystrokes either way.
I do the same thing you do, just with vi-mode keystrokes (up, then esc-I).