Hi

Here's a test case which demonstrates the problem:


#!/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. This seems to go against
what the bash manual says about "set -e"

"Exit immediately if a simple command (*note Simple Commands::) exits with a
non-zero status, unless the command that fails is part of the command list
immediately following a `while' or `until' keyword, part of the test in an `if'
statement, part of a `&&' or `||' list,...."

The problem appears to be specific to functions. Is this a bug?

Thanks
Greg



_______________________________________________
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash

Reply via email to