Hi,

Dash does not ignore the -e option in substitutions $(...) under AND/OR lists 
and conditions. For example, in the program

    set -e
    echo "$(echo X; false; echo Y)" || true

the command `false` seems to interrupt the sequence and only X is printed 
(tested with dash 0.5.8.2 and git master). But according to my understanding of 
the POSIX specifications, `set -e` should be ignored under the OR list and X 
and Y should be printed . The same behaviour can be
observed when using the substitution in the condition of a while, until, and 
if. In contrast, set -e is effectively ignored in normal subshells under AND/OR 
lists and conditions (e.g., `set -e; (echo X; false; echo Y) || true` prints X 
and Y).

Is this a bug in dash or in my understanding?

Best wishes,
Benedikt

--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to