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
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash

Reply via email to