On Tue, Sep 11, 2012 at 09:24:39PM +0600, ???????? ?????????????????? wrote:
> 1. Can you give me link (or name of) posix standard where I can read about
> this?

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_25

  "When this option is on, if a simple command fails for any of the reasons
  listed in Consequences of Shell Errors or returns an exit status value >0,
  and is not part of the compound list following a while, until, or if keyword,
  and is not a part of an AND or OR list, and is not a pipeline preceded by the
  ! reserved word, then the shell shall immediately exit."

In your original example, which I believe looked something like:

  if ! myfunc; then

set -e is not in effect for two reasons: the if, and the !.  Either one
would be sufficient to disable it.  You've got both.

> 2. Is there any workaround (like shopt) that will help for such case? I
> have read all shopts, man bash and found nothing.

The workaround is "stop trying to use set -e".

Reply via email to