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 [email protected] http://tiswww.cwru.edu/~chet/