Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #11407
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: -e does not take effects in subshell |
| Date | 2015-08-21 07:52 -0400 |
| Message-ID | <mailman.71.1440158011.31004.bug-bash@gnu.org> (permalink) |
| References | (6 earlier) <55D3B22E.9040507@tlinx.org> <20150819124214.GL4309@eeg.ccf.org> <55D4FBEA.10602@tlinx.org> <55D6693F.5070003@case.edu> <55D672E8.70608@tlinx.org> |
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 chet@case.edu http://cnswww.cns.cwru.edu/~chet/
Back to gnu.bash.bug | Previous | Next | Find similar
Re: -e does not take effects in subshell Chet Ramey <chet.ramey@case.edu> - 2015-08-21 07:52 -0400
csiph-web