Greg Schafer <[EMAIL PROTECTED]> wrote:
> #!/bin/sh
> set -e
>
> func () {
> false && echo false
> true && echo true
> false && echo false
> }
>
> func
>
> echo done
>
>
> It never echoes "done" because func() returns 1.
That's the correct behavior. The last "false" within the function
does not immediately cause bash to exit, since it is part of the "&&"
comound statement. But then the function call itself, which is a
simple command in its own right, has a nonzero exit status, so bash
exits at that point.
paul
_______________________________________________
Bug-bash mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-bash