fuck() { sudo $(fc -ln -1) }
This function takes the last command and puts sudo in front of it. Actually used it in a zoom call at work without thinking and it took a second to realize why everyone was laughing. Not my invention–came across it years ago on stackoverflow or someplace and thought it was funny/useful.
kmirl@tux:~$ ls /root ls: cannot open directory '/root': Permission denied kmirl@tux:~$ fuck [sudo] password for kmirl: bin debs docs Mail
alias fuck='sudo $(fc -ln -1)'
Isn’t this the same effect as just running ‘sudo !!’ ?
According to this super user question, someone said that
!!
won’t work in a function, so you must use thefc -ln -1
command in a subshell instead. Note the response that sayseval
shouldn’t be used (not sure why)Yeah but instead of a function you just make it an alias.
Considering the function name, here’s an obligatory thefuck plug
Lazy vim way I do it:
ggVG"wY:q!
followed bysudo !!
thenVG"wp:x
Grab entire file and stuff it in register W
Exit file
Reopen sudo
Select all and replace with register W them write
Lazier way:
:w !sudo tee %
Yeah learning about
tee
from this thread honestly.It’s been interesting realizing I had such a useful tool at my disposal but never knew
Now I understand how the Adeptus Mechanicus feel when they perform a ritual power-on.
It’s funny how years of use make that so intuitive but spelled out it’s a garbled mess