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.)