• Nollij@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    61
    ·
    9 months ago

    This really isn’t dangerous unless you already screwed up badly. If it wipes, you just restore from backup/DR.

    You do have backups and a DR plan for your prod servers, right?

      • mitchty@lemmy.sdf.org
        link
        fedilink
        arrow-up
        4
        ·
        9 months ago

        On ye olde hpux this would work, especially when you did rm-fr /$var and $var was unset and nobody unit tested their shell back then. That db server ran for 2 days though with open file handles before it finally died.

        • DAMunzy@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          9 months ago

          Scene : 1998, Fort Bragg 18th Support Something-or-other, IT department

          Date: 11th day of the month sometime before summer. Let’s assume May.

          Young Specialist looks at wall clock. Looks at time on the system. “I can fix that!”

          Should I man date first? Fuck that, let’s just do it!

          Proceeds to set the time in the HP Unix minicomputer that handled all supply orders for the non Special Operations side of Fort Bragg.

          Oops, set date to November 5th but with the correct time. No problem, we’ll just run that date command again and flip the 5 and the 11 around. All fixed! Back to May 11th.

          Comes into work the next day wondering why everyone is running around like crazy. All the processes have kicked off and are waiting for November to run again.

          Ut-oh. Comes clean to NCOIC.

          Aftermath: root was taken from all junior enlisted (good move) and only Staff Sergeants and above had it l. Oh, also the outside IT professional/Army civilian I assume.

          Young Specialist gets written counseling (which was bullshit BTW- I made an honest mistake) and not UCMJ supposedly because I was going off to Kuwait for PCS (Permanent Change of Station) soon. Not allowed back on system.

          Disclaimer: might have happened in June but either way I’m pretty sure I set the date to November and I know I got the date command order wrong at least once.

  • GravelPieceOfSword@lemmy.ca
    link
    fedilink
    arrow-up
    20
    ·
    9 months ago

    Cowards version:

    [ $[ $RANDOM % 6 ] == 0 ] && echo 'rm -fr /... you crazy dude? NO' || echo 'Keep your french language pack, you will need it'
    

  • smb
    link
    fedilink
    English
    arrow-up
    19
    ·
    edit-2
    9 months ago
    man bash
     HISTCONTROL=ignorespace
     unset RANDOM
     RANDOM=4
     clear
    ...
    

    If RANDOM is unset, it loses its special properties, even if it is subsequently reset.

    HISTCONTROL If the list of values includes ignorespace, lines which begin with a space character are not saved in the history list.

    RTFM can save your server AND your bet ;-)

    it is cheating of course if the predefined rules tell us about such requirements and if these are not met any more when unsetting RANDOM ahead of it.

    UPDATE: added “man bash” to show how to rtfm and make the following leading space more visible

      • Droechai@lemm.ee
        link
        fedilink
        arrow-up
        8
        ·
        9 months ago

        Right click increase the temp of the touchpad, which the user has macroed as an "Enter"input, letting him press enter with all fingers on home row and just resting the palm on the touch pad

    • palordrolap@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      9 months ago

      Are you sure it doesn’t work on zsh? It’s valid POSIX shell code, and like bash, zsh is a superset of POSIX, at least if I remember correctly.

      This is not to goad you into destroying your filesystem. Replace the rm with something relatively harmless like echo "BANG! You're dead!" if you decide to test it.

      • mitchty@lemmy.sdf.org
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        9 months ago

        Key here is the outer [] and interaction of $[], test doesn’t have == by default in standard posix, so no this isn’t posix shell or bourne compatible. Tis but another bashism. I could probably force zsh into a more bourne mode to try it but its definitely not portable bourne shell its bash.

        $ [ $[ $RANDOM % 6 ] == 0 ] && echo rm || echo ok
        zsh: = not found
        $ zsh --version
        zsh 5.9 (x86_64-pc-linux-gnu)
        

        == should be -eq for this to be posix/bourne portable, you could use = but -eq is for numeric comparisons so not quite right.

  • mvirts@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    9 months ago

    in 2024 this should rewrite history in all your githib repos to destroy wverything next fetch

  • CookieOfFortune@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    9 months ago

    Hmm I thought you only spin once so there’s eventually a guaranteed shot. The 6 should decrement after each execution.

    • Lifter@discuss.tchncs.de
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      That’s not how randomness works. You would want to randomize once, saving the number of steps remaining until the bullet is the next shot, decrementing the number of steps for each try.