Good day bash list - I don't understand why this emits any output : $ ( set -e; declare v=$(false); echo 'Should not get here'; ) Should not get here $
While this does not: $ ( set -e; v=$(false); echo 'Should not get here'; ) $ Shouldn't declare / typeset behave like the normal variable assignment statement wrt command substitution ? It does not seem to be documented anywhere if it is not. I'm using bash-4.3.18(1)-release , compiled from GIT under RHEL 6.4 (gcc-4.4.7) for x86_64 - I've also tested the default RHEL 6.4 bash-4.1.2(1)-release and the latest 4.3.22(1)-release with the same results. Actually , this problem seems to apply to all built-ins - $ ( set -e ; echo $(false); echo 'not ok') not ok $ I can't seem to find this behaviour documented anywhere . The same behaviour happens in posix mode . I'd appreciate an explanation as to why this behavior is not a bug . Thanks & Regards, Jason
test_-e.sh
Description: Bourne shell script