On 3/4/10 2:36 AM, Ettelbrueck, Heiko wrote:

>         Important detail: The local variable is declared and defined in
>         the same step with "local VARNAME=$(do something)".
> 
>         Problem: The $? variable is always 0 after that statement. (If,
>         on the other hand, I separate the declaration and the
>         definition of the variable as shown in the example below, the
>         $? variable is really set to the exit status of the external
>         tool.)

The exit status is the status of the command you run: local.  In the
absence of a command, when there are only assignment statements, the
exit status can be the exit status of a command substitution:

"If there is no command name, but the command contained a command
substitution, the command shall complete with the exit status of the last
command substitution performed. Otherwise, the command shall complete with
a zero exit status."

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/


Reply via email to