[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: simple function causes BASH to exit when -e in effect

From: Chet Ramey
Subject: Re: simple function causes BASH to exit when -e in effect
Date: Fri, 22 Dec 2017 13:58:48 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

On 12/22/17 1:56 PM, Kevin Layer wrote:
> The man page says:
>     The shell does not exit if the command that fails is part  of  the
>     command list  immediately  following  a  while or until keyword,
>     part of the test  following  the  if  or  elif  reserved words,
>     part  of any command executed in a && or || list except the
>     command following the final  &&  or  ||,  any command  in a
>     pipeline but the last, or if the command's return value is being
>     inverted with !.
> The fact that [ exits with 1 seems to be covered by the above passage for
> -e.

It doesn't exit because that command fails. It exits because the simple
command that is the function call fails, since a function returns the
status of the last command exited in the function body. That's why it
doesn't fail when the last command in the body is `:'.

``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    address@hidden    http://tiswww.cwru.edu/~chet/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]