> The parent shell (the one that enabled -e) should be the one to make the > decision about whether or not the shell exits. The exit status of the > command substitution doesn't make a difference except in one special case, > so inheriting errexit and exiting (possibly prematurely) doesn't really > help the parent decide whether or not to exit.
I'm not sure I fully understand. The parent shell should be the one to decide if the script is supposed to abort on any unsuccessful exit status. Command substitution should not change that. The parent shell decided via set -e that it wants to exit immediately on error. > Now, of course, it's been more than 20 years, and backwards compatiblity > is a concern. I still think this is a bug, I can't imagine why anyone would set "set -e" and not want to exit on failing commands inside command substitution. I think posix mode does the right thing in this regard. If you don't want to fix this for backwards compatibility, is there anyway we could change that behaviour explicitly? I.e. with another option? Avoiding command substitution isn't really an option, and this essentially disables the whole point of set -e. Chris -- echo mailto: NOSPAM !#$.'<*>'|sed 's. ..'|tr "<*> !#:2" org@fr33z3