• kmirl@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 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@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        6 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)

        • Johanno@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          6 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