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