Incidentally, is it possible that somehow )) is simply interpreted the same as } in this situation? It would also explain the perceived behavior.
On Wed, Apr 20, 2016 at 12:55 AM, konsolebox <konsole...@gmail.com> wrote: > On Tue, Apr 19, 2016 at 10:45 PM, David Maas <david.m...@gmail.com> wrote: > > Running the echo and other contents of the function really doesn't seem > like > > the correct behavior. If the function isn't called, then its contents > > shouldn't be executed. > > Choose: Should the shell stop execution or not? Can you give a theory how > a > shell can make sure that an ending brace is the real ending brace of a > function > when a syntax error happens? (In all possible cases.) > > > Hypothetically, what if the author was partway through writing a backup > > script that removes backed up data? The behavior of bash in this instance > > could cause a serious problem. > > That's bad scripting practice IMO. You don't test script you just wrote > with > real data. Syntax errors only happen once, unless you don't fix them right > away, or if you don't know how to use `eval` when you _have_ to use it. > (Please avoid quoting this obvious thing about `eval` again.) >