• @kmirl
    link
    English
    499 months ago
    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 
    
      • @subtext
        link
        139 months ago

        According to this super user question, someone said that !! won’t work in a function, so you must use the fc -ln -1 command in a subshell instead. Note the response that says eval shouldn’t be used (not sure why)

          • @subtext
            link
            19 months ago

            Oh good point, I didn’t think about that

        • Johanno
          link
          fedilink
          49 months ago

          Eval shouldn’t be used on userinput. Meaning that if smb other than you may use this to change the system he could put malicious code in the eval part.

          Probably doesn’t matter on shell level

      • @Cinnamon3431
        link
        39 months ago

        no because it takes the previous command and adds sudo to it right?

    • Rustmilian
      link
      English
      15
      edit-2
      9 months ago
      alias fuck='sudo $(fc -ln -1)'