On Thursday, February 15, 2024, Harald van Dijk via austin-group-l at The Open Group <austin-group-l@opengroup.org> wrote: > > Because the eval command parses a command from a string, here, the second > ! is not part of the last pipeline. The last pipeline is just "break". The > "eval" command's exit status would be negated, but stops prematurely. > Therefore, as long as the break command exits from the loop, I believe > POSIX requires this to print 1 0. >
I don't think POSIX says anything about cases besides `! break' and `! continue' . -- Oğuz