logoalt Hacker News

mcc1anetoday at 10:14 AM2 repliesview on HN

https://github.com/anordal/shellharden/blob/master/how_to_do...


Replies

tzottoday at 3:34 PM

Do you have a real-world example where we would like to preserve `$?` after the `if` (which `if` specifically branches on the result code of the command it tests)? Where we want to use the actual return code that the `if` did not handle itself.

I am asking because I have never needed preserving the `$?` outside of an `if`, nor have I ever seen this in somebody else's scripts, and I'm curious.

mananaysiempretoday at 10:38 AM

TL;DR: The old-school empty branch preserves $?, while logical negation doesn’t. Sure I guess, but this is not always relevant.