diff --git a/SC2251.md b/SC2251.md index a3da814..11192ad 100644 --- a/SC2251.md +++ b/SC2251.md @@ -20,6 +20,8 @@ ShellCheck has found a command inverted with `!` that may have no effect. In par The most common reason for this is thinking that it'll trigger `set -e` aka `errexit` if a command succeeds, as in the example. This is not the case: `!` will inhibit errexit both on success and failure of the inverted command. +Wrapping such an inverted command in a brace group will trigger `errexit` as expected, since the brace group will act as a standalone command with the same exit code. + ### Exceptions: ShellCheck will not detect cases where `$?` is implicitly or explicitly used to check the value afterwards: