this post was submitted on 24 Mar 2024
356 points (95.4% liked)

linuxmemes

21936 readers
2038 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  •  

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] kmirl 49 points 10 months ago (3 children)
    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 
    
    [–] [email protected] 29 points 10 months ago

    Considering the function name, here’s an obligatory thefuck plug

    [–] [email protected] 18 points 10 months ago (2 children)

    Isn't this the same effect as just running 'sudo !!' ?

    [–] subtext 13 points 10 months ago (2 children)

    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)

    [–] [email protected] 8 points 10 months ago (1 children)

    Yeah but instead of a function you just make it an alias.

    [–] subtext 1 points 10 months ago

    Oh good point, I didn’t think about that

    [–] [email protected] 4 points 10 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 3 points 10 months ago (1 children)

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

    [–] subtext 6 points 10 months ago* (last edited 10 months ago)

    !! is a shortcut for whatever the last command was ~~is it not?~~

    E: https://devhints.io/bash#history

    [–] Rustmilian 15 points 10 months ago* (last edited 10 months ago)
    alias fuck='sudo $(fc -ln -1)'