you are viewing a single comment's thread
view the rest of the comments
[–] 140 points 3 days ago (3 children)

rm -rf "$STEAMROOT/"* could be evaluated as rm -rf "/"* if $STEAMROOT is empty

Ah, good times.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 30 points 3 days ago (2 children)

    Probably a good idea to enable the nounset shell option when shipping commercial-grade install scripts. 😅

  • source
  • parent
  • hideshow 4 child comments
  • [–] 7 points 3 days ago* (last edited 3 days ago)

    That really ought to have been the default behavior. Opting out only takes one or two extra characters. Well, three or four if you don't habitually bracket your variable names, which you should probably be doing anyways

  • source
  • parent
  • [–] 4 points 3 days ago (1 child)

    Or just include the trailing slash in $STEAMROOT, so that if the variable is empty, it will evaluate to rm -rf "" and do nothing.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 7 points 3 days ago

    That seems like a more error-prone solution than the shell option. That would make it evaluate to rm -rf * which would probably delete your home directory, I'm guessing. And also put the burden of knowing the slash needs to be included on something completely disconnected from the expression. Nah, don't do it like that.

  • source
  • parent