>> Description:
>>       The errexit option does not work, if an error occures in a declare 
>> statement.
>
> There is no error, because `declare' is defined to return success if the
> variable assignment is performed without an error.

As far as I know about interpreters the arguments of an assignment get
first evaluated before the assignment is performed.

The expression:

declare a='x'$(false)

means: concatenate the string 'x', which evaluates to itself, and the
output of a sub shell, which performs the false command, and assign
the concatenated value to the variable a.

This means that the sub shell fails *before* 'declare' starts. So I
think it should not matter what declare returns, because the script
should have been terminated already.

Sascha

Reply via email to