[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in syntax checking causes unintended running of a function

From: David Maas
Subject: Re: Bug in syntax checking causes unintended running of a function
Date: Wed, 20 Apr 2016 08:33:31 -0700

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 <address@hidden> wrote:
On Tue, Apr 19, 2016 at 10:45 PM, David Maas <address@hidden> 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.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]