On Mon, Apr 06, 2020 at 04:33:15PM +0200, f...@florentbordignon.fr wrote: > Hello, > > The following assertion succeeds when it should not : > set -e > ! true > echo Hello # prints Hello but should not
-e Exit immediately if a pipeline (which may consist of a single simple command), a list, or a compound command (see SHELL GRAMMAR above), exits with a non-zero status. The shell does not exit if the command that fails is part of the command list immediately following a while or until keyword, part of the test following the if or elif reserved words, part of any command executed in a && or || list except the command following the final && or ||, any command in a pipeline but the last, or if the command's return value is being inverted with !. (snip)