[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why are parameters to Bash's builtin optional?
From: |
Victor Engmark |
Subject: |
Re: Why are parameters to Bash's builtin optional? |
Date: |
Wed, 18 Apr 2012 08:27:01 -0700 (PDT) |
User-agent: |
G2/1.0 |
On Wednesday, April 18, 2012 4:36:36 PM UTC+2, Chet Ramey wrote:
> On 4/18/12 9:18 AM, Victor Engmark wrote:
> > (Re-posted from Stack Overflow
> > <http://unix.stackexchange.com/questions/36751/why-are-parameters-to-bashs-builtin-optional>)
> >
> > Running simply `builtin` prints nothing and returns exit code 0. This is in
> > accordance with `help builtin`, which shows all parameters as optional. But
> > why isn't this no-op an error? Is there a use case for this? A more useful
> > result would be an error code or, even better, listing the currently
> > available builtins.
>
> What's the use case for having it be an error?
Since it's a nonsensical command, and since developers who haven't learned
proper quoting shouldn't be shot too hard in the foot when they run `builtin
$empty`. Or maybe they should be - Quoting is such a different matter from
mainstream languages (and *much* more complex) that maybe `builtin` should
print simply "Use More Quotes!" Seriously though, Bash is difficult enough as
it is, and a spoonful of language fussiness is worth a ton of guard code.
> I can see printing a list of builtins, though `enable' already does that.
I guess the difference would be that `builtin` prints *all* builtins, and
*never* modifies their state.
Cheers,
V