On 8/20/15 8:38 PM, Linda Walsh wrote:
>
>
> Chet Ramey wrote:
>>> The earlier spec had -e only exit a script if a *simple* (external)
>>> command failed. It didn't include builtins nor functions.
>>
>> This is not; builtins and functions are simple commands.
> ---
> The builtins are _complex_ binary blobs that replace external commands.
>
> Functions are a collection of many commands. They are not a single,
> simple statement. I remember using their return value in some cases.
`Simple command' is a specific term with a specific meaning. It doesn't
have anything to do with perceived implementation complexity.
>
> With the change, I couldn't run a func and have it return the
> value in $? (1 byte, I know) -- but about 128x as flexible as "ok"/"die"
> (i.e. any non-zero value triggers the behavior
> now, but before, it didn't).
That's fine, even clever, but fundamentally incompatible with the idea
that 0 means success and everything else means failure.
> My simplistic view was that -e was there to auto-exit if an external
> command failed because they are "out of your control".
That's an incomplete view.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/