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
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).
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.
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
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:
However, for the use case here, with sudo:
Oh sick! Thank you!
I’d like to know more about !!
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.Brilliant – I’ve needed this so many times. Thanks for the explanation