[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
'declare' does not honor '-e' in command substituted assignments - a bug
From: |
Jason Vas Dias |
Subject: |
'declare' does not honor '-e' in command substituted assignments - a bug ? |
Date: |
Sat, 9 Aug 2014 16:34:11 +0100 |
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
- 'declare' does not honor '-e' in command substituted assignments - a bug ?,
Jason Vas Dias <=